0

私は持ってい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 is not a function error....

最初は、このフェード効果で行を非表示にできないと思っていましたが、単純な他のテーブルを作成し、すべて正常に機能していました...

この問題の手がかりを教えていただけますか?

4

2 に答える 2

0
element.getInlineOpacity is not a function

これは見たことがないので、ちょっとググってみました。そして、何が判明したのですか?(少なくとも内部では) jQuery を Prototype または Scriptaculous と混ぜ合わせており、全体が互いに衝突しているように見えます。

クリーンアップして再試行してください。

他の人がすでに指摘したように編集new Effect.Fade()します。jQuery 以外のものを jQueryfadeOut()関数に置き換える必要があります。

于 2009-12-08T12:12:11.707 に答える
0

Effect.fadeおそらく問題を引き起こしているjqueryコードではありません。特にjqueryオブジェクトを渡しているためです。代わりに生の DOM 要素を渡してみることができます。

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

繰り返しになりますが、この豊富なテーブル全体が何であるか正確にはわかりません...または正確に何をしようとしているのか... チェックボックスがオンになっているテーブル行をフェードアウトしますか? とはcheckboxStatus? それはクラスですか (この場合.、上記のコードには a が必要です)。

何をしようとしているのかによって、次のようなものがより jQuery のアプローチになる可能性があります。

jQuery(this).find('.checkboxStatus:checked').parent('tr').fadeOut();
于 2009-12-08T12:21:51.673 に答える