Checkbox javascript

ViPHP
fab
ViPHP | 2657 Messages

03 oct. 2008, 14:47

Bonjour tout le monde,
Je viens de constater une chose qui me semble bizarre en javascript et plus particulièrement avec l'utilisation de jQuery quand j'affiche l'attribut checked d'une checkbox qui est coché il m'affiche "true"

voici mon code
jQuery('.jsBox').each(function() {
  alert(jQuery(this).attr('name') + ' ::: ' + jQuery(this).attr('checked'));
});
Si vous savez le pourquoi du comment je suis preneur :)

PS : mon dev n'est pas bloqué par celà j'ai réussi a contourner le problème
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
ViPHP | 4039 Messages

03 oct. 2008, 15:07

Il existe l'attribut val, mais il ne permet que de définir l'état, pas de le connaître.

Pour ça, il y'a le sélecteur :checked

http://docs.jquery.com/Selectors/checked

Code : Tout sélectionner

$('.jsBox:checked').each(function() { alert($(this).attr('name')); });
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 oct. 2008, 15:37

Euh... je comprends pas bien la question... l'attribut "checked" d'une case à cocher est un booléen. Elle est donc soit à true (si la case est cochée), soit à false (dans le cas contraire).

Lorsqu'en javascript tu interroges l'élément "document.formulaire.case.checked" ton retour est (et jusque là) à toujours été "true" ou "false". De même pour le renseigner :)

La vrai question - si j'ai bien compris ton interrogation -, c'est de savoir quel est l'espèce de @$[censuré]%& du w3c - qu'à jamais du voir un code source de sa vie - qui a un jour décrété que dans les normes xhtml, il fallait mettre checked="checked" ou selected="selected" (ce qui n'a aucun sens) au lieu de laisser juste checked ou de mettre checked="true" ;)

(oui, j'aime pas le w3c et leurs recommandations à la c** que les gens se sentent obligés de considérer comme une norme ! Ca se sent ? :P )
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
fab
ViPHP | 2657 Messages

03 oct. 2008, 15:58

Merci beaucoup Berzemus je vais pas du tout qu'on pouvait faire ainsi :)

Ryle: Oui c'est sur mais on n'y peut rien :) On comprend juste quand on regarde les groupes qui font partis du w3c comme microsoft :D ils participent à la définition de standards que eux mêmes sont incapables de respecter ... :)
Et puis qu'on voit la qualité de finition des produits microsoft on peut se dire que c'est normal que les standards soient imparfait :p
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }