<input type="checkbox" name="cbox" value="cbox1" onClick="chooseOne(this);">checkBox1   
 <input type="checkbox" name="cbox" value="cbox2" onClick="chooseOne(this);">checkBox2   
 <input type="checkbox" name="cbox" value="cbox3" onClick="chooseOne(this);">checkBox3   
 <input type="checkbox" name="cbox" value="cbox4" onClick="chooseOne(this);">checkBox4    <script type="text/javascript" language="javascript">
        var choose;
       function chooseOne(cb) {
            //先取得同name的chekcBox的集合物件   
          var obj = document.getElementsByName("cbox");
           for (i = 0; i < obj.length; i++) {
            //判斷obj集合中的i元素是否為cb,若否則表示未被點選   
             if (obj[i] != cb) obj[i].checked = false;
             //若是 但原先未被勾選 則變成勾選;反之 則變為未勾選   
               //else  obj[i].checked = cb.checked;   
                 //若要至少勾選一個的話,則把上面那行else拿掉,換用下面那行
             else obj[i].checked = true;
         }
         alert(cb);
         }问题就是一点, alert(cb);
就是,弹出选中的值的时候,没有任何的反应,这是为什么呢,大师们,可以复制过去试试,代码也不多的

解决方案 »

  1.   

    你是想做一个单选的checkbox吧
    用这个
    var checkValue = "-1";function singleCheck(obj) {
     if (checkValue == "-1") {
        if(obj.checked == true) {
          checkValue = obj.id;
        }
     } else {
       if(obj.checked == true) {
          document.getElementById(checkValue).checked = false;
          checkValue = obj.id;
        } else {
          checkValue = "-1";
        }
     }
    }onClick="singleCheck(this);"
      

  2.   

    提交的时候校验
    if(checkValue == "-1"){ 即可
      

  3.   

    alert(cb.value); 
    是根本不行的
    我早试过了
      

  4.   

    问题不是出在value上
    即便
    alert('1');
    都没有,这
      

  5.   

    楼主那个代码我早测试过了,不加value弹出object,加了就是他的值<input type="checkbox" name="cbox" id="cbox1" value="cbox1" onClick="chooseOne(this);">
    <label for="cbox1">checkBox1 </label>加了label标签的话就是可以点击后面的checkbox也可以触发checkbox的onclick事件,否者要点击checkbox控件
      

  6.   

    代码没有问题。1. 检查html头部的 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 有没有问题。2. 换个机器,或换个浏览器试试。别告诉我你在server上直接用ie查看的,win2003 server的IE默认是禁用脚本的。
      

  7.   

    cb.value是可以的,我给加了个文本框,alert和文本框都能看到值<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript" language="javascript">
            var choose;
           function chooseOne(cb) {
                //先取得同name的chekcBox的集合物件   
              var obj = document.getElementsByName("cbox");
               for (i = 0; i < obj.length; i++) {
                //判斷obj集合中的i元素是否為cb,若否則表示未被點選   
                 if (obj[i] != cb) obj[i].checked = false;
                 //若是 但原先未被勾選 則變成勾選;反之 則變為未勾選   
                   //else  obj[i].checked = cb.checked;   
                     //若要至少勾選一個的話,則把上面那行else拿掉,換用下面那行
                 else obj[i].checked = true;
             }
             alert(cb.value);
     document.getElementById("m").value=cb.value;
             }
     </script>
    </head><body> 
    <input type="checkbox" name="cbox" value="cbox1" onClick="chooseOne(this);">checkBox1   
     <input type="checkbox" name="cbox" value="cbox2" onClick="chooseOne(this);">checkBox2   
     <input type="checkbox" name="cbox" value="cbox3" onClick="chooseOne(this);">checkBox3   
     <input type="checkbox" name="cbox" value="cbox4" onClick="chooseOne(this);">checkBox4 
     <input type="text" id="m" value="a" />
    </body>
    </html>
      

  8.   

     <input type="checkbox" name="cbox" value="cbox1" onClick="chooseOne(this.value);">checkBox1   
     <input type="checkbox" name="cbox" value="cbox2" onClick="chooseOne(this.value);">checkBox2   
     <input type="checkbox" name="cbox" value="cbox3" onClick="chooseOne(this.value);">checkBox3   
     <input type="checkbox" name="cbox" value="cbox4" onClick="chooseOne(this.value);">checkBox4  
     <script type="text/javascript">
            
           function chooseOne(cb) {
           
                //先取得同name的chekcBox的集合物件   
              var obj = document.getElementsByName("cbox");
               for (i = 0; i < obj.length; i++) {
                //判斷obj集合中的i元素是否為cb,若否則表示未被點選   
                 if (obj[i].value != cb) obj[i].checked = false;
                 //若是 但原先未被勾選 則變成勾選;反之 則變為未勾選   
                   //else  obj[i].checked = cb.checked;   
                     //若要至少勾選一個的話,則把上面那行else拿掉,換用下面那行
                 else obj[i].checked = true;
             }
             alert(cb);
             }
    </script>
      

  9.   

    我看代码没什么大问题  只是 javascript代码最后少了</scritp>结束标记  加上的话 应该是可以正常运行的
      

  10.   

    alert(cb.name);弹出的是name  alert(cb.value);弹出的是value值  alert(cb);弹出的是一个对象