0

より良いタイトルがないことをお詫びします。

私は次の行を正常に使用しています:

$('.checkall').unbind('click').click(function () {
    $(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
});

.checkallをクリックすると、フィールドセット内のすべてのテーブル行がチェックされます。ここで、テーブル内でページ付けを使用して、フロントページにない行をクラス'canView display:none'に設定します。

クラスcanViewを使用して、display:noneを使用せずに、フィールドセット内のすべてのチェックボックスをフィルタリングするにはどうすればよいですか。

すなわち:

$(this).parents('fieldset:eq(0)').find('tr > canView:VISIBLE').find(':checkbox').attr('checked', this.checked);

しかし、これは私が思うようには機能しません:)

:すべてのtrにはクラスcanViewがあり、ページ付けされたときに表示のみが変更されます。

4

1 に答える 1

1

既存のコードは次のとおりです。

$(this).parents('fieldset:eq(0)').find('tr > canView:VISIBLE').find(':checkbox').attr('checked', this.checked);

問題は、.find('tr > canView:VISIBLE')パーツのセレクタにあります。

'tr > canView:VISIBLE'<canView>要素の直接の子孫であるタグのすべての可視要素を探します<tr><tr>表示されるクラスを持つ要素が必要canViewなため、これが必要です。

.find('tr.canView:visible')
于 2013-01-17T15:01:54.570 に答える