我在struts中创建了一个单选按钮但是我看到单选按钮接受了一个列表,所以我提供了一个列表{true:'Yes',false:'No'}
。这会创建一个带有Yes和No标签的单选按钮对,但是我想使用javascript来获取已选中的单选按钮。
创建单选按钮后,他们会向'名称' true 和' name' false 。我很困惑如何使用javascript来获取选中的单选按钮及其值。以下是我的代码:
Struts单选按钮
<s:radio name="over18" id= "over18Stat" list="#{true:'Yes',false:'No'}"
onclick="Over18Changed(this.value)"/>
的Javascript
我已经尝试了这个但它不起作用
var ofage = document.getElementByName('over18').value ;
答案 0 :(得分:1)
getElementsByTagName是复数,因为它返回与给定名称匹配的元素的NodeList(可能为空)。
要获取所选按钮,请遍历NodeList(我已将其转换为函数):
function getCheckedButton(name) {
var buttons = document.getElementsByName(name);
for (var i=0; i<buttons.length; i++) {
if (buttons[i].checked) {
return buttons[i];
}
}
如果您只想要按钮的值:
return buttons[i].value
您也可以使用querySelector:
function getCheckedValue(name) {
var button = document.querySelector('input[name=' + name + ']:checked');
return button && button.value;
}
但是,所有正在使用的浏览器都不支持querySelector,并且所有支持querySelector的浏览器都不支持复杂的选择器。