1

我在这里发布了一个很长的问题表单验证多维选择框

一个简短的问题是,我允许用户添加多行数据输入。每行都有

<select name="color[]">
   <option>1</option>
   <option>2</option>
   <option>3</option>
   <option>4</option>
</select>

如果有 3 个选择框,我可以使用它来获取它的长度,frm["color[]"].length它将返回 3。

但是如果只有 1 个选择框frm["color[]"]会从选择中返回我的选项数量并返回 4

编辑

使用document.getElementsByName("color[]")过并且有效。谢谢科林,

    colors= document.getElementsByName("colors[]").length;

    console.log(colors); // print proper numbers now
    for(i=0; i<colors; i++){
        dd = frm["colors["+i+"]"].value; // <- how to check value
        console.log(dd);
        k = i+1;
        var subColors = document.getElementsByName("colors["+k+"][]").length

    }

我如何从选择框中获取所选选项的值

4

1 回答 1

1

使用更具体的frm.getElementsByName("color[]"),这将显式选择<select>元素而不是当前所做的。

编辑:这是如何使用它:

var sels = document.getElementsByName("colors[]"), l = sels.length, dd;
for( i=0; i<l; i++) {
    dd = sels[i];
    // do stuff
}
于 2013-02-21T06:10:21.817 回答