<input type='checkbox' name='aa' onclick='check()'>
<input type='checkbox' name='aa' onclick='check()'>
<input type='checkbox' name='aa' onclick='check()'>
<input type='checkbox' name='aa' onclick='check()'>
<input type='checkbox' name='aa' onclick='check()'>
<script>
function check()
{
  var i = 0
  var chk = document.getElementsByName('aa')
  for (j=0;j<chk.length;j++)
  {
    if (chk[j].checked)
       i++
  }
  if (i<2) 
  {
    for (j=0;j<chk.length;j++)
    {
        chk[j].disabled = false;
    }
  }
    
  if (i==2) 
  {
    for (j=0;j<chk.length;j++)
    {
      if (!chk[j].checked)
        chk[j].disabled = true;
    }
  }
}
</script>

解决方案 »

  1.   

    xjdawu(左右互搏):谢谢老大热心帮助,现在我用你的程序时还是出现了问题:
    我的程序中有很多行的checkbox,名字我用数组来定义的(例:name=checkbox_view[]),这样方便我在php中取得每个checkbox的值,用你的程序时checkbox的name不能用,我现在加了一项ID值(值根据所对应的编号给出),我改造了你的程序,但是不成功,老大能再看看如何改造成我想实现的这样吗?
    谢谢!<input type='checkbox' name='aa' id='1' onclick='check(1)'>
    <input type='checkbox' name='aa' id='2' onclick='check(2)'>
    <input type='checkbox' name='aa' id='3' onclick='check(3)'>
    <input type='checkbox' name='aa' id='4' onclick='check(4)'>
    <input type='checkbox' name='aa' id='5' onclick='check(5)'><script>
    function check(theCleckSign)
    {
      var i = 0
      var chk = document.getElementById(theCleckSign)
      for (j=0;j<chk.length;j++)
      {
        if (chk[j].checked)
           i++
      }
      if (i<2) 
      {
        for (j=0;j<chk.length;j++)
        {
            chk[j].disabled = false;
        }
      }
        
      if (i==2) 
      {
        for (j=0;j<chk.length;j++)
        {
          if (!chk[j].checked)
            chk[j].disabled = true;
        }
      }
    }
    </script>
      

  2.   

    <input type='checkbox' id='aa' onclick='check()'>
    <input type='checkbox' id='aa' onclick='check()'>
    <input type='checkbox' id='aa' onclick='check()'>
    <input type='checkbox' id='aa' onclick='check()'>
    <input type='checkbox' id='aa' onclick='check()'>
    <script>
    function check()
    {
      var i = 0
      var chk = aa
      for (j=0;j<chk.length;j++)
      {
        if (chk[j].checked)
           i++
      }
      if (i<2) 
      {
        for (j=0;j<chk.length;j++)
        {
            chk[j].disabled = false;
        }
      }
        
      if (i==2) 
      {
        for (j=0;j<chk.length;j++)
        {
          if (!chk[j].checked)
            chk[j].disabled = true;
        }
      }
    }
    </script>
      

  3.   

    我这么试了一下,也可以实现
    <input type='checkbox' name='aa[]' id='1' onclick='check(1)'>
    <input type='checkbox' name='aa[]' id='2' onclick='check(2)'>
    <input type='checkbox' name='aa[]' id='3' onclick='check(3)'>
    <input type='checkbox' name='aa[]' id='4' onclick='check(4)'>
    <input type='checkbox' name='aa[]' id='5' onclick='check(5)'><script>
    function check()
    {
      var i = 0
      var chk = document.getElementsByName('aa[]')
      for (j=0;j<chk.length;j++)
      {
        if (chk[j].checked)
           i++
      }
      if (i<2) 
      {
        for (j=0;j<chk.length;j++)
        {
            chk[j].disabled = false;
        }
      }
        
      if (i==2) 
      {
        for (j=0;j<chk.length;j++)
        {
          if (!chk[j].checked)
            chk[j].disabled = true;
        }
      }
    }
    </script>
    可以实现,借老大的程序,谢谢,问题解决了
      

  4.   

    xjdawu(左右互搏) :真是快人快语呀,搞定了,谢谢!!!
      

  5.   

    getElementById 获取对 ID 标签属性为指定值的第一个对象的引用。 
    getElementsByName 根据 NAME 标签属性的值获取对象的集合。 另 id属性的值在当前文档范围内应该唯一。如果文档中有超过1个对象拥有相同的id标识符,那么通过该id引用,将指向一个包含这些id相同的对象的collection