通过Javascript中的一个变量,按名称访问PHP生成的单选按钮

Access PHP-generated radiobuttons by their name through a variable in Javascript

本文关键字:访问 单选按钮 PHP 变量 Javascript 一个 通过      更新时间:2023-09-26

我用PHP创建了不同数量的单选按钮行,并为它们命名为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检查所有单选按钮的状态(别担心,我知道单选按钮的行数):

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个单选按钮(完成)并计算和显示这些数字的平均值,具体取决于用户选择的选项。我很乐意接受任何关于这方面的输入:)

当您将表单发送到服务器时,表单输入中的名称很好,但当您在客户端使用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")

您可以使用document.getElementsByTagName()获取所有<input>元素,然后对它们进行筛选以排除那些不属于"radio"类型的元素。getElementsByTagName() API也可用于容器元素(如<form>),因此如果您愿意,可以更准确地定位单选按钮。

它的返回值是NodeList(或HTMLCollection,取决于浏览器),您可以将其视为数组实例。

您可以在单选按钮上放置一个ID(在生成时),然后生成javascript以按ID获取它们,并将它们放入变量中。

<input type="radio" name="0" value="on" checked="" id="radio1">

// in javascript
var radio1 = document.getElementById("radio1");

尝试document.formName.elements[i][j]。也许有必要打字:document.formName.elements[i+""][j+""]

但如果可能的话,生成ID并使用document.getElementById()

为单选按钮分配一个特定的ID,您可以从javascript调用它,也可以使用jQuery

//en jquery:$('#radio1).click(function(){//做点什么});