function checkit(obj){ 
var names=document.getElementsByName("object_id"); 
for(var i=0;i<names.length;i++){ 
alert(document.getElementsByName("object_id")[i].value);document.getElementsByName("object_id")[i].checked=false; 

obj.checked=true; 
} 我用以上函数限制了checkbox多选 
 
但是我要在选择该checkbox的时候  如何才能取得object_id的值呢?
用了红色的语句 得到的是所有行的object_id  我想只得到我选择的checkbox的object_id值  怎么做呢?

解决方案 »

  1.   

    jquery:$("input[name='object_id'][checked]").val();
      

  2.   

    这个在第一次点击的时候可以取到值  但是再次选择其他checkbox的时候 就取不到值 显示undefined
      

  3.   

    代码可以简化一下你声明的var names=document.getElementsByName("object_id"); nams没用过
    function checkit(obj){
         var names = document.getElementsByName("object_id");
         for (var i = 0; i < names.length; i++) {
               names[i].checked = false;
         }
         obj.checked = true;
    }获取被选中的checkbox的值
             function getCheckedValue() {
                var names = document.getElementsByName("object_id");
                for (var i = 0; i < names.length; i++) {
                    if (names[i].checked) {
                        return names[i].value;
                    }
                }
            }
    有空可以看看jquery,正如一楼写的那样,很多操作用很简单的几句代码就可搞定
      

  4.   

    function checkit(obj){ 
    var names=document.getElementsByName("object_id"); 
    for(var i=0;i <names.length;i++){ 
    if(document.getElementsByName("object_id")[i]==event.srcElement)
    {alert(document.getElementsByName("object_id")[i].value);}
    document.getElementsByName("object_id")[i].checked=false; 

    obj.checked=true; 
    } 添加红色部分,判断事件的触发源是不是你选择的那个checkbox就可以了
    PS:以上只针对IE,Firefox等需要将event传递进来,不能直接引用
      

  5.   


    function checkit(obj){ 
    var names=document.getElementsByName("object_id"); 
    for(var i=0;i <names.length;i++){ 
    if(document.getElementsByName("object_id")[i]==event.srcElement) 
    {alert(document.getElementsByName("object_id")[i].value);} 
    document.getElementsByName("object_id")[i].checked=false; 

    obj.checked=true; 
     //如果 checkbox 是在 td 中
     obj.parent.parent.style.backGoundColor = "#ff0";//将背景色设置为黄色

      

  6.   

    obj.parent.parent.style.backGoundColor = "#ff0";//将背景色设置为黄色 应该是
    obj.style.backgroundColor = "#ff0";   但是这样的话 只有checkbox 变色 我要的是整行变色
    再选择其他行的话 原来的行恢复原来的颜色
      

  7.   

    还有如何将这个object_id值作为下面两行红色的object_id的查询条件
       <script>
       var tip2=document.getElementById("tip2");
       function getPage2(page){
       tip2.style.display="inline";
       var object_id=document.input3.object_id.value;
       var xmlhttp;
       try
       {
         xmhhttp=new ActiveXObjec("Msxml2.XMLHTTP");
    }
    catch (e)
    {
       try{
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
       catch (e){
             try{
         xmlhttp=new XMLHttpRequest();
     }
    catch (e){}
    }
    }

    xmlhttp.onreadystatechange=function()
    {
     if(4==xmlhttp.readyState)
     {
       if(200==xmlhttp.status)
       {    
         document.getElementById("tip2").innerHTML=xmlhttp.responseText; 
    }
    else
    {
    alert(xmlhttp.status);
    }
    }
     }
     var url="search2.asp?object_id="+escape(object_id);
    xmlhttp.open("get",url);
    xmlhttp.send(null);
    }
       -->
       </script>
      

  8.   

    就是getpage()函数 要怎么获取checkit()中的object_id 作为查询的条件