J'ai un CheckBoxList et l'une des options est 'All'. Je veux sélectionner toutes les options, y compris All si l'utilisateur a coché 'All' et si l'utilisateur a décoché 'All', je veux effacer les sélections. S'ils sélectionnent une autre option sauf 'Tout', ne faites rien. Quelqu'un peut-il m'aider avec jQuery pour faire cela? J'utilise jQuery 1.2.6CheckBoxList sélectionne toutes les options dans jQuery
<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>
MERCI POUR TOUS aidais. VOICI MA REPONSE -
Bind cette fonction d'attribuer onclick pour chacun des 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;
}
Merci. Mais ceci est une checkboxlist dynamique et donc je ne peux pas connaître l'id de l'option 'All'. Je ne peux lier jquery à la checkboxlist entière comme indiqué ci-dessus. Est-il possible de trouver quelle option a été cochée ou décochée? C'est-à-dire, détecter si l'utilisateur a coché l'option 'Tout' avec la jquery liée à la liste entière? – Dave
@Dave, vérifiez les modifications ci-dessus qui le rendent générique –