Hay varias formas de hacer esto. Independientemente, se recomienda encarecidamente tener un contenedor alrededor de los botones de opción, pero también puede poner una clase directamente en los botones. Con este 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>
puede seleccionar por clase:
$(".shapeButton").click(SetShape);
o seleccione por ID de contenedor:
$("#shapeList").click(SetShape);
En cualquier caso, el evento se activará al hacer clic en el botón de opción o en la etiqueta correspondiente, aunque extrañamente en el último caso (seleccionando por "#shapeList"), al hacer clic en la etiqueta se activará la función de clic dos veces por alguna razón, en menos en FireFox; seleccionar por clase no hará eso.
SetShape es una función y tiene este aspecto:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
De esta manera, puede tener etiquetas en sus botones y puede tener varias listas de botones de opción en la misma página que hacen cosas diferentes. Incluso puede hacer que cada botón individual en la misma lista haga cosas diferentes configurando un comportamiento diferente en SetShape () según el valor del botón.