Javascript选择数组长度

时间:2013-02-21 06:07:24

标签: javascript validation

我在这里发布了一个很长的问题Form validation multidimensional select boxes

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

<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[]")并且有效。谢谢kolink,

    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

    }

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

1 个答案:

答案 0 :(得分: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
}