选中/取消选中除一个复选框以外的所有选项。?

时间:2013-02-07 10:47:29

标签: javascript select checkbox

目前,我正在使用它来检查/取消选中表单中的所有复选框。

<script type="text/javascript">
checked=false;
function checkedAll (frm1) {
    var aa= document.getElementById('frm1');
     if (checked == false)
          {
           checked = true
          }
        else
          {
          checked = false
          }
    for (var i =0; i < aa.elements.length -2; i++) 
    {
     aa.elements[i].checked = checked;
    }
      }
</script>

这很好用,但我在这个表单中有一个复选框,我不想受到影响。

它的id为id='ignore'无论如何上面的代码可以用来按原样工作,但忽略这一个复选框?

由于

5 个答案:

答案 0 :(得分:2)

for (var i =0; i < aa.elements.length -2; i++) 
    {
        if(aa.elements[i].id !== 'ignore'){
             aa.elements[i].checked = checked;
         }
    }

答案 1 :(得分:1)

摆脱if循环...
完整代码 -

<script type="text/javascript">

var checked = false;

function checkedAll (frm1) {
    var chkBoxs = document.getElementById('frm1').getElementsByTagName('input');

    checked = !checked;

    for (var i =0; i < chkBoxs.length -2; i++) {
        if (chkBoxs[i].id == 'ignore') {
            continue;
        }
        chkBxs[i].checked = checked;
    }
}

</script>

答案 2 :(得分:0)

for (var i =0; i < aa.elements.length -2; i++) 
{
if (aa.elements[i].getAttribute('id') != 'ignore')
 aa.elements[i].checked = checked;
}

答案 3 :(得分:0)

for (var i =0; i < aa.elements.length -2; i++) 
{
if (aa.elements[i].getAttribute('id') == 'ignore') 
continue;
 aa.elements[i].checked = checked;
}

答案 4 :(得分:0)

<script type="text/javascript">
checked=false;
function checkedAll (frm1) {
    var aa= document.getElementById('frm1');
     if (checked == false)
          {
           checked = true
          }
        else
          {
          checked = false
          }
     for (var i =0; i < aa.elements.length -2; i++) 
       {
         if (aa.elements[i].getAttribute('id') == 'ignore') 
             aa.elements[i].checked = false;
         else
             aa.elements[i].checked = checked;
     }
      }
</script>