2009-12-08 88 views
0

我有一個rich:dataTable。我想隱藏這種代碼的一行:jQuery - 想要隱藏豐富的行:dataTable

<c:if test="#{not empty documents &amp;&amp; documents.size!=0}"> 
    <rich:jQuery selector="#_inboxTable_ tr" 
     query="ready(function() { 
      jQuery.noConflict(); 
      if (jQuery(this).find('checkboxStatus').attr('checked', true)) { 
       new Effect.Fade(jQuery(this)); 
      } 
     })" 
    /> 
</c:if> 

的問題是,我得到:element.getInlineOpacity不是一個函數錯誤....

我最初假設我不能隱藏一個具有這種淡入淡出效果的行,但我做了一個簡單的其他表,並一切工作正常...

你能給我一個關於這個問題的線索嗎?

+0

什麼jQuery的版本是您使用? – yoda 2009-12-08 12:08:17

+0

我在我的源代碼頁面看到這個:

0

Effect.fade是不是jQuery的代碼,這可能會導致您的問題。特別是因爲你傳遞了一個jQuery對象。您可以嘗試將原始DOM元素傳遞給它,例如

if (jQuery(this).find('checkboxStatus').attr('checked', true)) { 
    new Effect.Fade(this); 
} 

話又說回來,我不知道這整個豐富的表的東西到底是什麼......或者正是你正在嘗試做的...你想淡出任何錶行選中複選框在裏面?什麼是checkboxStatus?它是一個類(在上面的代碼中應該有.)?

取決於你正在嘗試做的,這樣的事情可能是一個比較jQuery的方法:

jQuery(this).find('.checkboxStatus:checked').parent('tr').fadeOut(); 
+0

我想要的是隱藏所有包含複選框的行,在頁面呈現後,使用id checkBoxStatus選中 – 2009-12-08 12:40:53

+0

rich:dataTable是RichFaces中的一個組件,它在turn是一個JSF組件庫,它是一個基於Java組件的MVC框架。 – BalusC 2009-12-08 12:48:54

+0

如果你想搜索帶有checkBoxStatus ID的東西,你需要'find('#checkBoxStatus')'。但是,它聽起來像你的頁面上有多個相同ID的元素是invali d並可能導致大量問題... – vitch 2009-12-08 13:49:32