我在表格中有一组单选按钮以及此表中的其他输入,我无法按ID或名称或标签名称获取单选按钮,如果可能,我想按类型获取它们,因为id和name由JSF自动生成,我不想改变它。
所以要求是:只获取表格内的所有单选按钮(不是所有输入),这样我就可以循环播放它们。
答案 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等框架时,您可以更轻松地使用这种方式。