一个表单中,有若干个相同name的checkbox
<input type="checkbox" name="abc" value="1">
<input type="checkbox" name="abc" value="2">
<input type="checkbox" name="abc" value="3">
……
<input type="checkbox" name="abc" value="n">问题是:如何将这组相同name的对象,同时赋值呢?使用document.getElementByName("abc").value="0";不对。使用document.all.abc.value="0";也不行应该如何表达呢?

解决方案 »

  1.   

    for遍历
    var els=document.getElementByName("abc");
    var len=els.length;
    for(var i=0;i<len;i++) {
       els[i].value="0";
    }
      

  2.   

    也可以给每一个选项一个id
    通过document.getElementById('id').value = "aaaaa"
    这样来赋值
      

  3.   

    能问个扩展的问题吗?如果不是默认的value呢?比如:<input type="checkbox" name="abc" value="1" flag="1"> 同上面的代码,赋值给这组checkbox所有flag的值等于0也是一样的方法吗?
      

  4.   

    被你误导了,document.getElementsByNamevar els=document.getElementsByName("abc");
    var len=els.length;
    for(var i=0;i<len;i++) {
       els[i].setAttribute("flag","1");
    }
      

  5.   

    document.getElementByName("abc")获得的是数组
    document.getElementByName("abc")[0].value="0";