javascript选择收音机

Sas*_*u H 13 javascript selected radio

我想查看所选的无线电输入是什么.

这是我的代码.

<input name="u_type" type="radio" value="staff" id="u_type" checked="checked" /> Staff
<input name="u_type" type="radio" value="admin" id="u_type" /> Admin
<input id="add_user" name="add_user" type="button" onclick="addUser();"  value="Add" class="submitButton admin_add" />

function addUser()
{
//how to check what is the selected radio input
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Rom*_*rov 21

function addUser() {
    //how to check what is the selected radio input
    alert(getCheckedRadioValue('u_type'));
}

function getCheckedRadioValue(name) {
    var elements = document.getElementsByName(name);

    for (var i=0, len=elements.length; i<len; ++i)
        if (elements[i].checked) return elements[i].value;
}
Run Code Online (Sandbox Code Playgroud)

元素的ID必须不同.

  • 它应该更好地命名为*getCheckedRadioValue*,因为它不会像它可能建议的那样返回无线电HTML ID! (3认同)

Jam*_*ice 6

要获取已检查单选按钮的值,不使用jQuery:

var radios = document.getElementsByName("u_type");
for(var i = 0; i < radios.length; i++) {
    if(radios[i].checked) selectedValue = radios[i].value;   
}
Run Code Online (Sandbox Code Playgroud)

(假设这selectedValue是在其他地方声明的变量)


kin*_*uta 5

$('input[name=u_type]:checked').val()
Run Code Online (Sandbox Code Playgroud)

将为您提供所选选项的值,您当然可以将其分配给变量。由于告诫,我还应该指出这是 jquery,一个方便的 javascript 库,用于简化 DOM 操作并具有出色的跨浏览器兼容性。可以在这里找到。

  • 或者使用标准接口:document.querySelector('input[name=u_type]:checked").checked (3认同)
  • 没错,但 jquery 是 javascript。 (2认同)
  • @kinakuta:所以?如果一个问题只用 `javascript` 标记,你应该假设不应该使用其他库。如果你使用一个,你应该在你的答案中清楚地说明这一点并链接到它。 (2认同)