2010-12-06 15 views
4

J'ai quelques cases à cocher dans un jeu de boutons et je veux utiliser Jquery pour cocher l'une des cases à cocher.utiliser Jquery pour cocher la case dans le jeu de boutons Jquery

Cela fonctionne, cependant, la représentation visuelle de la case à cocher ne se met pas à jour. Par exemple, après l'exécution de $('#chk').attr('checked',true);, la valeur cochée est vraie, mais la case à cocher ne s'affiche pas.

demoed ici: http://jsfiddle.net/kralco626/jzVjT/1/

Merci!

+1

Remarque: lorsque vous cliquez sur le bouton dans l'exemple jsfiddle, la case à cocher est en cours de vérification. Vous pouvez le dire parce que lorsque vous cliquez sur la case à cocher après avoir cliqué sur le bouton, la case à cocher apparaît toujours dans l'état "non coché". – kralco626

+0

La réponse de Nick Craver devrait fonctionner. En aparté, je dirais que si vous voulez vraiment un jeu de boutons, alors vous voulez probablement que votre source originale soit un groupe de boutons radio, pas de cases à cocher. Habituellement, un jeu de boutons fournit un groupe d'options mutuellement exclusives, tandis que les cases à cocher permettent d'activer ou de désactiver une propriété individuelle (celles-ci se transforment en boutons bascules lorsque vous appelez .button() directement). – RwwL

+0

Je veux la fonctionnalité de case à cocher, pas la fonctionnalité de bouton radio. Un ensemble de boutons Jquery sera un ensemble de type case à cocher ou un type de bouton radio basé sur le fait qu'il contient des entrées de type checkbox ou radio. – kralco626

Répondre

16

Vous devez appeler the refresh method sur la Buttonset de mettre à jour l'état visuel après les changements de programme à l'état checked, comme ceci:

$("#test").buttonset("refresh"); 

You can test it out here.

+0

Merci d'avoir sauvé ma santé mentale! – Morvael

-1

Essayez

'true' 

plutôt que

true 

Les attributs sont toujours des valeurs de chaîne.

Éditer:

Peu importe. Aucune idée sur la fonctionnalité des boutons, mais les choses ne se comportent pas normalement. Consultez la documentation de l'API.

+1

Ceci est incorrect, c'est une valeur booléenne, et ''false'' le mettrait à cocher, de façon inattendue. –

+0

Oh. Ick. Tu as raison, mais je n'aime pas que JQ fasse comme ça. –

+1

Oui, 'attr' est confus en ce sens qu'il accède aux propriétés et non aux attributs ... généralement, sauf quand ce n'est pas le cas. jQuery essaie de cacher la différence, mais la différence est toujours là. – bobince