それは、
- ヘッダーのチェック ボックスが選択されている場合、テーブルの最初の列ですべてのチェック ボックスを有効にする必要があります。
- 1 つ以上、またはすべての選択されたチェック ボックスの行 ID を jQuery 関数に渡す必要があります。
それは、
この型構造を html に使用する
<fieldset>
<!-- these will be affected by check all -->
<div><input type="checkbox" class="checkall"> Check all</div>
<div><input type="checkbox"> Checkbox</div>
<div><input type="checkbox"> Checkbox</div>
<div><input type="checkbox"> Checkbox</div>
</fieldset>
<fieldset>
<!-- these won't be affected by check all; different field set -->
<div><input type="checkbox"> Checkbox</div>
<div><input type="checkbox"> Checkbox</div>
<div><input type="checkbox"> Checkbox</div>
</fieldset>
ここで、各フィールドセットのすべてのチェックボックスは、このjqueryコードを使用してチェックでき、チェックされたチェックボックスのすべてのIDも取得できます
$(function () {
$('.checkall').click(function () {
$(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
var x = $(this).parents('fieldset:eq(0)').find(':checkbox').attr('id');
});
});
あなたの問題に対するかなりひどいjQueryソリューション:http://briancray.com/posts/check-all-jquery-javascript
テーブル内の各 tr を反復処理するときは、次のようにします。
// assume you have an array like:
$array = array(
'0' => array(
'name' => 'bob',
'pet' => 'dog'
),
'1' => array(
'name' => 'josh',
'pet' => 'cat'
),
);
for($i=0;$i<count($array);$i++) { ?>
<td><input type="checkbox" name="rows[<?=$i?>]" /><td><?=$array[$i]['name']?></td><td><?=$array[$i]['pet'];?></td>
<? } ?>
それを投稿すると、行のインデックスを含む配列が投稿に取得され、さらに反復できます。
さらにサンプル コードが必要な場合は、喜んで作成します。ただし、これは開始に役立つはずです。:)