2009-12-08 90 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