Il y a plusieurs moyens de le faire. Il est néanmoins fortement recommandé d'avoir un conteneur autour des boutons radio, mais vous pouvez également mettre une classe directement sur les boutons. Avec ce HTML:
<ul id="shapeList" class="radioList">
<li><label>Shape:</label></li>
<li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li>
<li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li>
</ul>
vous pouvez sélectionner par classe:
$(".shapeButton").click(SetShape);
ou sélectionnez par ID de conteneur:
$("#shapeList").click(SetShape);
Dans les deux cas, l'événement se déclenchera en cliquant sur le bouton radio ou sur l'étiquette correspondant, bien que curieusement dans ce dernier cas (en sélectionnant par "#shapeList"), cliquer sur l'étiquette déclenchera la fonction de clic deux fois pour une raison quelconque, à moins dans FireFox; la sélection par classe ne fera pas cela.
SetShape est une fonction et ressemble à ceci:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
De cette façon, vous pouvez avoir des étiquettes sur vos boutons et plusieurs listes de boutons radio sur la même page qui font des choses différentes. Vous pouvez même demander à chaque bouton individuel de la même liste de faire des choses différentes en définissant un comportement différent dans SetShape () en fonction de la valeur du bouton.