我在表中有一组单选按钮以及该表中的其他输入,我无法通过 id 或名称或标签名称获取单选按钮,如果可能的话,我想按类型获取它们,因为 id 和名称是由 JSF 自动生成的,我不想改变它。
所以要求是:只获取表格内的所有单选按钮(不是所有输入),以便我可以循环它们。
我在表中有一组单选按钮以及该表中的其他输入,我无法通过 id 或名称或标签名称获取单选按钮,如果可能的话,我想按类型获取它们,因为 id 和名称是由 JSF 自动生成的,我不想改变它。
所以要求是:只获取表格内的所有单选按钮(不是所有输入),以便我可以循环它们。
我希望只有一组单选按钮。在这种情况下,这样的事情会有所帮助:
var inputs = yourForm.elements;
var radioes = [];
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type == 'radio') {
radioes.push(input[i]);
}
}
如果有不止一组单选按钮,更好的方法是将字典name
作为键,值作为组中的单选按钮数组。
我知道这个问题没有提到jQuery,但我只是想证明它的简单性;请将此视为“嘿,看看 jQuery 多棒”的卖点。
// look how pretty I am
var radioButtons = $('table#MyTableId input[type="radio"]');
鉴于您的表单名称是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 等框架时,您可以更轻松地使用这种方式。