У меня есть CheckBoxList, и один из вариантов - «Все». Я хочу выбрать все параметры, включая «Все», если пользователь установил флажок «Все» и если пользователь снял флажок «Все», я хочу отменить выбор Если они выбирают любую другую опцию, кроме «Все», ничего не делайте.
Может ли кто-нибудь помочь мне с jQuery сделать это? Я использую jQuery 1.2.6
<table border="0" onclick="SelectMe(this);" id="one">
<tbody>
<tr>
<td>
<input type="checkbox" checked="checked" name="one$0" id="one_0"/><label for="one_0">All</label>
</td>
<td>
<input type="checkbox" name="two$1" id="two_1"/><label for="two_1">Option One</label>
</td>
<td>
<input type="checkbox" name="three$2" id="three_2"/><label for="three_2">Option Two</label>
</td>
<td>
<input type="checkbox" name="four$3" id="four_3"/><label for="four_3">Option Three</label>
</td>
<td>
<input type="checkbox" name="five$4" id="five_4"/><label for="five_4">Option Four</label>
</td>
</tr>
</tbody>
СПАСИБО ВСЕМ ЗА ПОМОЩЬ. ЗДЕСЬ МОЙ ОТВЕТ -
Свяжите эту функцию с атрибутом onclick для каждого из checkboxlist.items
function selectAll(box) {
//check if this is 'All' checkbox
var isAll = ($(box).next('label').text() == 'All');
//get the checkboxlist
var theList = $(box).parents('table:first');
//if 'All' is checked/clicked, check all options
if (isAll) {
var check = theList.find('input:checkbox')[0].checked;
$.each(theList.find('input:checkbox'), function(i, v) {
v.checked = check;
});
}
// check 'All' option if all other checkboxes are checked
else {
var allchecked = true;
$.each(theList.find('input:checkbox'), function(i, v) {
if(i) if (!v.checked) allchecked = false;
});
theList.find('input:checkbox')[0].checked = allchecked;
}