Ci sono diversi modi per farlo. Avere un contenitore attorno ai pulsanti di opzione è altamente raccomandato a prescindere, ma puoi anche inserire una classe direttamente sui pulsanti. Con questo 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>
puoi selezionare per classe:
$(".shapeButton").click(SetShape);
oppure seleziona per ID contenitore:
$("#shapeList").click(SetShape);
In entrambi i casi, l'evento si attiverà facendo clic sul pulsante di opzione o sull'etichetta, anche se stranamente in quest'ultimo caso (selezionando "#shapeList"), facendo clic sull'etichetta si attiverà la funzione clic due volte per qualche motivo, a almeno in FireFox; la selezione per classe non lo farà.
SetShape è una funzione e ha questo aspetto:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
In questo modo, puoi avere etichette sui pulsanti e più elenchi di pulsanti di opzione sulla stessa pagina che fanno cose diverse. È anche possibile fare in modo che ogni singolo pulsante nello stesso elenco esegua operazioni diverse impostando un comportamento diverso in SetShape () in base al valore del pulsante.