J’ai cette ligne de code pour le chargement de la page:
if ($("input").is(':checked')) {
et cela fonctionne bien lorsque la saisie du bouton radio est cochée. Cependant, je veux le contraire. Quelque chose dans le sens de
if ($("input").not(.is(':checked'))) {
de sorte que mon instruction if s’exécute lorsque aucun des boutons radio n’est sélectionné. Quelle est la meilleure manière de s’occuper de ça?
if ( ! $("input").is(':checked') )
Ça marche pas?
Vous pourriez également essayer de parcourir les éléments comme ceci:
var iz_checked = true; $('input').each(function(){ iz_checked = iz_checked && $(this).is(':checked'); }); if ( ! iz_checked )
if ($("input").is(":not(:checked)"))
AFAIK, cela devrait fonctionner, testé avec la dernière version stable de jQuery (1.2.6).
Si mon profileur Firebug fonctionne correctement (et je sais bien l’utiliser), ceci:
$('#communitymode').attr('checked')
est plus rapide que
$('#communitymode').is('checked')
Vous pouvez essayer sur cette page 🙂
Et puis vous pouvez l’utiliser comme
if($('#communitymode').attr('checked')===true) { // do something }
$("input").is(":not(':checked')"))
C’est jquery 1.3, attention aux signes “et”!
$('input:radio[checked=false]');
cela fonctionnera aussi
input:radio:not(:checked)
ou
:radio:not(:checked)
Cela fonctionne aussi. Il semble que la notation de travail la plus courte:! !$('#selector:checked')