如何获取表格内的所有单选按钮?

时间:2012-06-11 10:10:16

标签: javascript radio-button

我在表格中有一组单选按钮以及此表中的其他输入,我无法按ID或名称或标签名称获取单选按钮,如果可能,我想按类型获取它们,因为id和name由JSF自动生成,我不想改变它。

所以要求是:只获取表格内的所有单选按钮(不是所有输入),这样我就可以循环播放它们。

3 个答案:

答案 0 :(得分:3)

我希望只有一组单选按钮。在这种情况下,这样的事情会有所帮助:

var inputs = yourForm.elements;
var radioes = [];
for (var i = 0; i < inputs.length; ++i) {
    if (inputs[i].type == 'radio') {
        radioes.push(input[i]);
    }
}​

如果有多组单选按钮,更好的方法是使用name作为键的字典,将值作为组中单选按钮的数组。

答案 1 :(得分:3)

我知道这个问题没有提及jQuery,但我只是想证明它的简单性;请考虑更多的卖点“嘿,看看jQuery有多好。”

// look how pretty I am
var radioButtons = $('table#MyTableId input[type="radio"]');

答案 2 :(得分:0)

鉴于您的表单名称为yourForm ...(<form name = "yourForm">)...一种简单的方法就是解析所有表单元素并检查类型,如下所示:

var your_namespace = {};
your_namespace.your_function = function() {
    var l = document.yourForm.elements.length;
    for (i=0; i<l; i++) {
        var type = yourForm.elements[i].type;
        if (type=="radio") alert("Form element " + i + " is a radio!");
    }   
}

除了警告你,你还可以使用元素id做很多其他事情。

使用MooTools或JQuery等框架时,您可以更轻松地使用这种方式。