あなたがGridViewコントロールにのCssClassを追加し、その離れてあなたのjQueryのセレクタのベースができます。
スクリプト:同じクラス名を持つ
<script type="text/javascript">
$(function() {
$(".t th input:checkbox").click(function() {
var $checkbox = $(this).closest('table').find(':checkbox:not(:first)');
$checkbox.attr('checked', $(this).attr('checked'));
});
});
</script>
2のテーブル:
<table class="t">
<tr>
<th align="left" scope="col">Category</th>
<th align="left" scope="col">Product</th>
<th align="right" scope="col">Unit Price</th>
<th align="left" scope="col">Supplier</th>
<th scope="col">
<input type="checkbox" name="select-all" />
</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
</table>
<br /><br /><br />
<table class="t">
<tr>
<th align="left" scope="col">Category</th>
<th align="left" scope="col">Product</th>
<th align="right" scope="col">Unit Price</th>
<th align="left" scope="col">Supplier</th>
<th scope="col">
<input type="checkbox" name="select-all" />
</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><input type="checkbox" /></td>
</tr>
</table>
ありがとうfehays、しかし、のCssClassは、すべてのページのgridviewsと選択に適用されるそのよう/すべての意志の選択を解除すべてのグリッドビューに適用されます。私は単一のgridviewで作業する必要があります。それ以上の提案はありますか? – Ali
作業する単一グリッドビューは常に同じインデックスですか?たとえば、2番目のグリッドビュー、または1番目など?もしそうなら、jquery eq()を使って特定のものを得ることができます。例えば - $( "。classname:eq(2)")は、class = "classname"の3番目の要素を指定します。 – fehays
いいえ、常に同じインデックスではなく、コントロールの総数もあらかじめわかっていません。また、私は "単一のgridview"と言ったとき、私は特定のgridviewのヘッダチェックボックスを選択すると、そのgridviewのchecboxesのみを選択/選択解除する必要があることを意味しました。 – Ali