跨浏览器无线电输入检查

时间:2011-02-03 14:00:18

标签: javascript radio-button

我有一大组单选按钮,我想用javascript函数检查其中一个,它接收收音机组名称和值。在Chrome上,单选按钮似乎不会像select标签选项一样分组到数组中。我是否必须做一些事情,比如将它们全部放入div并迭代它的控件或者是否有一种我没有看到的更简单的方法?

感谢

1 个答案:

答案 0 :(得分:1)

我使用jQuery:

$('input:radio[name=myRadioGroup]:checked').val();

您也可以使用document.getElementsByName("myRadioGroup"),然后迭代以获取已检查的值...

getSelectedRadioButton = function (buttons) {
    var option = -1;
    for (i = 0; i<buttons.length; i++) {
        if (buttons[i].checked) {
            option = i;
            break;
        }
    }
    if (option === -1) {
        return null;
    } else {
        return buttons[i];
    }
};

要设置具有给定值属性的单选按钮以进行检查:

setRadioWithValToChecked = function (buttons, val) {
    for (i = 0; i<buttons.length; i++) {
        buttons[i].checked = false;
        if (buttons[i].value === val.toString()) {
            buttons[i].checked = true;
        }
    }
};