我用PHP创建了不同数量的radiobutton行,并给它们命名为1,2,3等。 所以现在我的HTML文件中有这样的东西:
<input type="radio" name="0" value="on" checked="">
<input type="radio" name="0" value="off" >
<input type="radio" name="0" value="solo" >
<input type="radio" name="1" value="on" checked="">
<input type="radio" name="1" value="off" >
<input type="radio" name="1" value="solo" >
<input type="radio" name="2" value="on" checked="">
等
现在我想用Javascript检查所有radiobutton的状态(别担心,我知道无线电行的数量):
for(var i = 0; i < amountOfRadioRows; i++) {
for( var j = 0; j < 3; j++) {
if(document.formName.i[j].checked) {
alert(i+" "+j+" is checked!");
}
}
}
但这是我的问题:如何使用变量访问各个单选按钮?
附加信息:最终,我的页面应该从CSV文件中加载一些值(完成),为每个位置显示3个单选按钮(完成),并计算和显示这些数字的平均值,具体取决于用户选择的选项。我对此有任何意见感到高兴:)
答案 0 :(得分:2)
表单输入中的名称适用于将表单发送到服务器时,但是当您在客户端使用javascript时,最好使用ID ..
所以给每个收音机一个不同的id,让我们说:
<input type="radio" name="0" id="r1" value="on" checked="">
<input type="radio" name="0" id="r2" value="off" >
<input type="radio" name="0" id="r3" value="solo" >
<input type="radio" name="1" id="r4" value="on" checked="">
<input type="radio" name="1" id="r5" value="off" >
<input type="radio" name="1" id="r6" value="solo" >
<input type="radio" name="2" id="r7" value="on" checked="">
然后得到你需要的那个:
document.getElementById("r1")
答案 1 :(得分:1)
您可以使用document.getElementsByTagName()
获取所有<input>
元素,然后对其进行过滤以排除那些不属于“radio”类型的元素。 getElementsByTagName()
API也适用于容器元素(例如<form>
),因此您可以根据需要更准确地定位单选按钮。
返回值是一个NodeList(或HTMLCollection,具体取决于浏览器),您可以将其视为一个Array实例。
答案 2 :(得分:1)
您可以在radiobuttons上添加ID(生成时),然后生成javascript以通过ID获取它们并将它们放入变量中。
<input type="radio" name="0" value="on" checked="" id="radio1">
// in javascript
var radio1 = document.getElementById("radio1");
答案 3 :(得分:1)
试试document.formName.elements[i][j]
。也许有必要进行类型转换:document.formName.elements[i+""][j+""]
。
但如果可能,请生成ID并使用document.getElementById()
。
答案 4 :(得分:1)
将特定ID分配给单选按钮,您可以从javacript调用它,或者您可以使用jQuery
//en jquery: $('#radio1).click(function(){ //do something });