Ich habe verschiedene Möglichkeiten ausprobiert, einen SelectedValue von RadioButtonList in Javascript ohne Freude zu bestimmen. Dann schaute ich auf den HTML-Code der Webseite und erkannte, dass ASP.NET ein RadioButtonList-Steuerelement auf einer Webseite als einspaltige HTML-Tabelle darstellt!
<table id="rdolst" border="0">
<tr>
<td><input id="rdolst_0" type="radio" name="rdolst" value="Option 1" /><label for="rdolst_0">Option 1</label></td>
</tr>
<tr>
<td><input id="rdolst_1" type="radio" name="rdolst" value="Option 2" /><label for="rdolst_1">Option 2</label></td>
</tr>
</table>
Um einen einzelnen ListItem auf der Radiobuttonlist durch Javascript zuzugreifen, müssen Sie es innerhalb der Zelle untergeordneten Steuerelemente verweisen auf die entsprechende Zeile (als Knoten in Javascript bekannt). Jedes ListItem wird als erstes (Null-) Element in der ersten (Null-) Zelle in seiner Zeile gerendert.
Dieses Beispiel Schleifen durch die Radiobuttonlist die SelectedValue anzuzeigen:
var pos, rdolst;
for (pos = 0; pos < rdolst.rows.length; pos++) {
if (rdolst.rows[pos].cells[0].childNodes[0].checked) {
alert(rdolst.rows[pos].cells[0].childNodes[0].value);
//^ Returns value of selected RadioButton
}
}
Um das letzte Element in der Radiobuttonlist zu wählen, würden Sie dies tun:
rdolst.rows[rdolst.rows.length - 1].cells[0].childNodes[0].checked = true;
So mit einem Radiobuttonlist in Javascript in Wechselwirkung ist sehr ähnlich wie mit einem normalen Tisch zu arbeiten. Wie gesagt, ich habe die meisten anderen Lösungen ausprobiert, aber das ist das einzige, was für mich funktioniert.
Diese Antwort funktioniert am besten, wenn Sie nicht wissen, wie viele Optionsfelder Sie auf der Seite angezeigt haben. Danke! –
Ich hatte wirklich auf eine einfachere Antwort gehofft, aber ich konnte nichts besseres finden – TruthOf42
vielen Dank! half mir, meine Verwirrung zu stoppen :) –