jQuery - 想要从rich:dataTable中隐藏行

时间:2009-12-08 12:06:15

标签: jquery jsf richfaces jstl

我有rich: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不是函数错误....

我最初假设我不能用这种淡化效果隐藏一行,但是我已经制作了一个简单的其他表,所有这些都正常工作......

你能给我一个关于这个问题的线索吗?

2 个答案:

答案 0 :(得分:0)

element.getInlineOpacity is not a function

我以前从未见过这个,所以我Googled了一下。结果是什么?它看起来像你(至少在引擎盖下)将jQuery与Prototype或Scriptaculous混合在一起并且整个事物相互碰撞。

清理并重试。

编辑正如其他人已经指出的那样,你需要用jQuery fadeOut()函数替换非jQuery的东西new Effect.Fade()

答案 1 :(得分:0)

Effect.fade不是jquery代码,可能会导致您出现问题。特别是因为你传递了一个jquery对象。您可以尝试将原始DOM元素传递给它,例如。

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

然后再说一遍,我不确定这整个富表的确是什么......或者你正在尝试做什么......你想淡出任何带有复选复选框的表格行吗?什么是checkboxStatus?它是一个类(在这种情况下,上面的代码中应该有一个.)?

根据您的尝试,这样的事情可能是更简洁的方法:

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