2012-07-30 105 views
0

我有一個被JQuery css文件覆蓋的JSF輸入字段。我想使用Primefaces calendar如何用CSS覆蓋輸入字段

<p:calendar style="" 
      styleClass="" 
      id="datetochangepasswd" 
      value="#{AddAccountController.formMap['DATETOCHANGEPASSWD']}" 
      pattern="MM/dd/yyyy HH:mm:ss" /> 

你可以幫忙改寫輸入欄嗎?我想再次使用默認的瀏覽器樣式。

P.S.這是我在Firebug中看到的CSS風格。

<input id="form:datetochangepasswd_input" class="ui-inputfield ui-widget ui-state-default ui-corner-all hasDatepicker" type="text" name="form:datetochangepasswd_input" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false"> 

如何覆蓋它?

+1

CSS無法更改內容。另外,由於這是一個客戶端問題,請您如何使用您的客戶端代碼,而不是您的Java代碼。 – 2012-07-30 14:53:50

+2

你可以刪除''class''屬性:'$('#form \\:datetochangepasswd_input').removeAttr('class');' – 2012-07-30 14:56:49

+0

它不起作用。 – user1285928 2012-07-30 15:08:40

回答

2

正如有人在您的原始文章的評論中指出的那樣,CSS不會更改在該字段中顯示/生成的內容。如果你的字段有你不希望擁有的值,那麼這個值就是硬編碼到某個地方的JSP或HTML本身的東西。

但是,如果你的表單在外觀上僅僅與你想要的不同,就像其他人指出的那樣,你可以使用jQuery隨時移除類屬性,但這會在頁面加載後的一段時間,也是依賴於jQuery樣式和JS的佈局,很可能jQuery UI會在jQuery本身之後調用,所以它會覆蓋大部分你希望做的事情。當然,這是什麼文件準備好了。

此外,您可以隨時在jQuery UI css文件後包含一個CSS文件,並將它包含在希望將表單恢復爲默認值的頁面中,並重新創建您在示例中看到的類名稱以上顯示不同。總而言之,大約有十幾種方法可以改變那種立於我們頭頂的造型。

總體而言,它更多的是關於如何將所有內容作爲一個整體進行佈置,以及最終你真正想要做什麼。不幸的是,你的首字母描述並沒有太多的繼續。

0

看來你使用jQuery的datepicker。刪除jQuery datepicker實例,它應該修復它自己。