2010-11-01 8 views
1

Comment puis-je faire un lien « Marquer tous » qui, marque toutes les cases, il se trouve dans un td:Making « Marquer tous les » bouton

<td style="padding-right:4px;padding:4px;" class="alternating"> 
    <input name="cbPick" type="checkbox" value="88156144" /> 
</td> 

Je ne sais pas quelle langue vous écrivez ceci dans .. JavaScript ?

+2

Quasiment votre seul choix va être Javascript. – Pointy

Répondre

1

code:

function checkAll(value, arr) { 
$(arr).each(function() { 
    if (value) { 
    $(this).attr('checked', 'checked'); 
    } 
    else { 
    $(this).removeAttr('checked'); 
    } 
}); 
} 

Utilisation:

<input type="checkbox" class="check' /><br /> 
<input type="checkbox" class="check' /><br /> 
<input type="checkbox" class="check' /><br /> 
<a href="#" onclick="checkAll(true, $('.check'))">Mark all</a> 

P.S.

Oui, cela nécessite jQuery. OMG OMG !!

+0

qui ne fonctionnera pas avec le javascript normal – Breezer

+0

@Breezer: Oui, il nécessite jQuery. jQuery est comme .NET - remarques comme "il faut des logiciels supplémentaires" sont la vacance de l'âge de pierre !! – abatishchev

+0

@Johnson: Glad it helps! – abatishchev

1

Oui, ce serait le javascript, quelque chose comme:

<script type="text/javascript"> 
function selectAll(x) { 
    for(var i=0,l=x.form.length; i<l; i++){ 
    if(x.form[i].type == 'checkbox' && x.form[i].name != 'selectAll'){ 
     x.form[i].checked=x.form[i].checked?false:true 
    } 
    } 
} 
</script> 

<form> 
<input type="checkbox" name="selectAll" onclick="selectAll(this)" /> (Select all)<br /> 
<input type="checkbox" name="a" /> (A)<br /> 
<input type="checkbox" name="b" /> (B)<br /> 
<input type="checkbox" name="c" /> (C)<br /> 
<input type="checkbox" name="d" /> (D)<br /> 
<input type="checkbox" name="e" /> (E) 
</form> 
+0

Si vous mettez en cache la longueur de 'x.form', vous pouvez aussi bien mettre en cache' x.form' et 'x.form [i ]'. Je pense que 'x.form [i] .checked = x.form [i] .checked? False: true' devrait être' x.form [i] .checked = x.checked'. – Matt

2

Ce serait en Javascript. Vous utiliseriez l'API DOM. Vous devrez ensuite vous assurer que le gestionnaire onClicked du lien mark all référence cette fonction. Ce code suppose également que lorsque la case à cocher est à l'intérieur des TD, c'est le premier enfant - sinon ce code serait plus compliqué.

info Référence: http://www.w3schools.com/jsref/dom_obj_checkbox.asp

+0

solution ne nécessite pas de bibliothèques supplémentaires - je pense que la solution d'abatishchev nécessite Jquery - il me semble que JQuery. –

Questions connexes