Es gibt verschiedene Möglichkeiten, dies zu tun. Unabhängig davon wird dringend empfohlen, einen Container um die Optionsfelder zu haben. Sie können jedoch auch eine Klasse direkt auf die Schaltflächen setzen. Mit diesem 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>
Sie können nach Klasse auswählen:
$(".shapeButton").click(SetShape);
oder wählen Sie nach Container-ID:
$("#shapeList").click(SetShape);
In beiden Fällen wird das Ereignis ausgelöst, wenn Sie entweder auf das Optionsfeld oder auf die Beschriftung klicken. In letzterem Fall (Auswahl durch "#shapeList") wird durch Klicken auf die Beschriftung die Klickfunktion aus irgendeinem Grund zweimal ausgelöst am wenigsten in FireFox; Die Auswahl nach Klassen reicht nicht aus.
SetShape ist eine Funktion und sieht folgendermaßen aus:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
Auf diese Weise können Sie Beschriftungen auf Ihren Schaltflächen und mehrere Optionsfeldlisten auf derselben Seite haben, die unterschiedliche Aufgaben ausführen. Sie können sogar jede einzelne Schaltfläche in derselben Liste unterschiedliche Aufgaben ausführen lassen, indem Sie in SetShape () basierend auf dem Wert der Schaltfläche ein anderes Verhalten festlegen.