如果一行里面只有一个input对象的话~~
可以直接用
trObj.getElementsByTagName("input")[0];取得那个checkbox对象的引用如果还有别的input对象就再过滤以下type属性就可以了~~

解决方案 »

  1.   

    tr.onclick = function()
    {
       this.cells[0].childNodes[0].checked = true;//如果checkbox放在第一列
    }
      

  2.   

    tr.onclick = function()
    {
       this.cells[0].childNodes[0].checked = true;//如果checkbox放在第一列
    }
      

  3.   

    这个方法要求接受两个参数tr对象和checkbox的名字??
    checkbox 添加ID
    document.getElementsByName("objID");或者
    checkbox 添加那name
    checkboxList = document.getElementsByName("objName");
    然后遍历或者
    checkboxList =   trObj.childNodes
    然后遍历
      

  4.   

    //参数:mytr为行
    //参数:cName为checkBox的名字function test(mytr,cName){
        if(documetn.getElementById("cName").checked){
               alert("ID为:"+mytr.id+"的行,也被选中");
        }else{
               alert("ID为:"+mytr.id+"的行,已取消选中");
        }
    }
      

  5.   

    问题的关键在于tr跟checkbox之间的联系仅仅是checkbox被tr包含,并不确定就是在tr里面,可能有更深的嵌套,就别鄙视我为啥把东西弄得这么复杂了,原来系统就这样
    he_8134 你说的情况太简单了
    CutBug 你属于回帖不看的而且也只考虑了没有更深的嵌套的情况songpengasplcb530 两位老兄的思路我也考虑过,可惜原来的页面太tm乱了我实在没法通过id或name给tr跟checkbox建立对应关系。另外,我的确是要用这个function作为tr的onclick事件响应代码的,不过不是直接写的,而是在末尾用脚本循环加的,方法只写了一遍。所以不能每次调用他是传入不同的checkbox_id/checkbox_name来定位要修改哪个checkbox
    谢谢大家了,回帖都给分,解决后另开帖给解答者40分
      

  6.   

    不知道这是不是楼主想要的
    <html>
    <head>
    </head>
    <body onload="addTrEvent()">
    <table id="tbl" width="50%" border=1>
    <tr>
        <td width="20px"><input type="checkbox" name="chk" id="chk1"</td>
        <td>11</td>
        <td>12</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="chk" id="chk2"</td>
        <td>21</td>
        <td>22</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="chk" id="chk3"</td>
        <td>31</td>
        <td>32</td>
    </tr>
    </table>
    </body>
    </html><script language="javascript" type="text/javascript">
    function addTrEvent()
    {
        var table = document.getElementById("tbl");
        for(var i=0;i<table.rows.length;i++)
        {
            table.rows[i].onclick = new Function("trFunc(this,this.cells[0].childNodes[0])")
        }
    }function trFunc(tr,chkBox)
    {
        alert(tr.outerHTML);
        alert(chkBox.id)
    }
    </script>
      

  7.   

    针对“并不确定就是在tr里面,可能有更深的嵌套”,代码改了一下
    <html>
    <head>
    </head>
    <body onload="addTrEvent()">
    <table id="tbl" width="50%" border=1>
    <tr>
        <td width="20px"><input type="checkbox" name="chk" id="chk1" /></td>
        <td>11</td>
        <td>12</td>
    </tr>
    <tr>
        <!--checkbox加了一层嵌套-->
        <td><span><input type="checkbox" name="chk" id="chk2" /></span></td>
        <td>21</td>
        <td>22</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="chk" id="chk3" /></td>
        <td>31</td>
        <td>32</td>
    </tr>
    </table>
    </body>
    </html><script language="javascript" type="text/javascript">
    function addTrEvent()
    {
        var table = document.getElementById("tbl");
        for(var i=0;i<table.rows.length;i++)
        {
            table.rows[i].onclick = new Function("trFunc(this)")
        }
    }function trFunc(tr)
    {
        alert(tr.outerHTML); //tr对象
       
        for(var j=0;j<tr.cells.length;j++)
       {
            getCheckBox(tr.cells[j]);
       }
        
        
    }
    function getCheckBox(cell)
    {
       for(var k=0;k<cell.childNodes.length;k++)
       {
            if(cell.childNodes[k].nodeType==1)
            {
                if(cell.childNodes[k].type=="checkbox")
                {
                    alert(cell.childNodes[k].id);//这里取得checkbox
                    break;
                }
                if(cell.childNodes[k].childNodes.length!=0)  //如果有子节点,递规遍历子节点
                {
                    getCheckBox(cell.childNodes[k]);
                }
            }
       }
        
    }</script>
      

  8.   

    -_-#递归都出来了。
    CutBug 的可以用,不过你没考虑没有checkbox的行,应该会抱错吧,我测了再说。给分
      

  9.   

    cutbug去接分阿
    http://topic.csdn.net/u/20071026/10/89d7452d-bca4-4505-bcfb-bcbcd7e07d23.html