<script language="javascript">
function checkc(i){
  document.getElementById("c"+user_id).checked=true;
}
</script>
while(@$print = $db->fetch_array()){    echo '<tr onclick="checkc(\'+.$print["user_id"].+\')">
        <td><input type="checkbox" id="c" + .$print["user_id"]./></td>
        <td style="cursor:pointer;" >'.$print['user_id'].'</td>
        <td style="cursor:pointer;" >'.$print['user_name'].'</td>
        <td style="cursor:pointer;" >'.$print['user_sex'].'</td>
        <td style="cursor:pointer;" >'.$print['user_science'].'</td>
        <td style="cursor:pointer;" >'.$print['user_grade'].'</td>
        <td style="cursor:pointer;" >'.$print['user_class'].'</td>
        <td class="center"><a href="edit_user.php?user_id='.$print['user_id'].'" title="编辑"><img src="images/edit.png"></a></td>
        <td class="center"><a href="del_user.php?user_id='.$print['user_id'].'" title="删除"><img src="images/drop.png"  onclick="return confirm(\'确定删除该用户吗?\')"></a></td>
    </tr>';
    }
代码如上,我现在需要实现的功能是,要求鼠标点击任意一行的一个字段,都能将其对应的checkbox选中.
问题2:我要如何才能实现全选和取消全选的功能,谢谢各位大侠了! 

解决方案 »

  1.   

    <script>
    function test(obj) {
    alert(obj.name.substring(2));

    document.getElementById('cb' + obj.name.substring(2)).checked = true;
    }
    function toggleSelect(flag) {
    if(flag == 1) {

    for(var i=1;i<5;i++) {

    document.getElementById('cb' + i).checked = true;
    }
    } else {

    for(var i=1;i<5;i++) {

    document.getElementById('cb' + i).checked = false;
    }
    }
    }
    </script><table>
    <tr style="cursor:pointer;" name = "tr1" id="tr1" onclick="test(this)"><td>1<input type="checkbox" name="cb1" id="cb1" /></td></tr>
    <tr style="cursor:pointer;" name = "tr2" id="tr2" onclick="test(this)"><td>2<input type="checkbox" name="cb2" id="cb2" /></td></tr>
    <tr style="cursor:pointer;" name = "tr3" id="tr3" onclick="test(this)"><td>3<input type="checkbox" name="cb3" id="cb3" /></td></tr>
    <tr style="cursor:pointer;" name = "tr4" id="tr4" onclick="test(this)"><td>4<input type="checkbox" name="cb4" id="cb4" /></td></tr>
    </table><input type="button" name="select1" id="select1" value="全选" onclick="toggleSelect(1)" />
    <input type="button" name="select2" id="select2" value="全不选" onclick="toggleSelect(0)" />
      

  2.   


    //楼主,为什么函数里面是 i, 后面确成了user_id, 要么都用i,要么都用user_id
    function checkc(i){
    document.getElementById("c"+user_id).checked=true;
    }
      

  3.   

    鼠标点击任意一行的一个字段,都能将其对应的checkbox选中 tr的点击事件中 记录tr的位置id(这里可以给tr加个id checkbox对应一个相应的id chk_id)或者 计数位置 置对应的checkbox选中
      

  4.   


    <script>
    function test(obj) {

    document.getElementById('cb' + obj.name.substring(2)).checked = true;
    }
    function toggleSelect(flag) {
    if(flag == 1) {

    for(var i=1;i<3;i++) {

    document.getElementById('cb' + i).checked = true;
    }
    } else {

    for(var i=1;i<3;i++) {

    document.getElementById('cb' + i).checked = false;
    }
    }
    }
    </script><table border=1>
    <tr style="cursor:pointer;" name = "tr1" id="tr1" onclick="test(this)">
    <td><input type="checkbox" name="cb1" id="cb1" /></td>
    <td style="cursor:pointer;">姓名</td>
    <td style="cursor:pointer;">姓别</td>
    <td style="cursor:pointer;">班级</td>
    <td style="cursor:pointer;">年级</td>
    </tr>
    <tr style="cursor:pointer;" name = "tr2" id="tr2" onclick="test(this)">
    <td><input type="checkbox" name="cb2" id="cb2" /></td>
    <td style="cursor:pointer;">姓名</td>
    <td style="cursor:pointer;">姓别</td>
    <td style="cursor:pointer;">班级</td>
    <td style="cursor:pointer;">年级</td>
    </tr>
    </table><input type="button" name="select1" id="select1" value="全选" onclick="toggleSelect(1)" />
    <input type="button" name="select2" id="select2" value="全不选" onclick="toggleSelect(0)" />
      

  5.   

    <?php $sql = "select * from klm_users"; //查询数据库中所有的用户记录
    $_GET[page] == "" ? $pageNo = 1 : $pageNo = $_GET[page]; $page = new Pager($pageSize=30,$sql,$pageNo,10);//$PageSize->每页要显示的数量,&$sql->SQL语句,$pageNo->当前第几页,10->10页换行
    $currentPage = $page->getStartNo();//起始页
    $totalPage = $page->getPageCount();//总页数
    $show = "select *  from `klm_users` limit $currentPage,$pageSize";
    $query = $db->query($show);
    print '<table class="stripe_tb" ><caption>用 户 列 表</caption>
    <tr><th></th><th>学 号</th><th>姓 名</th><th>性 别</th><th>专 业</th><th>年 级</th><th>班 级</th><th>编 辑</th><th>删 除</th></th></tr>';
    while(@$print = $db->fetch_array()){
    echo '<tr style="cursor:pointer;" name = "tr1" id="tr1" onclick="test(this)">
    <td><input type="checkbox" name="cb1" id="cb1"></td>
    <td style="cursor:pointer;">'.$print['user_id'].'</td>
    <td style="cursor:pointer;" >'.$print['user_name'].'</td>
    <td style="cursor:pointer;" >'.$print['user_sex'].'</td>
    <td style="cursor:pointer;" >'.$print['user_science'].'</td>
    <td style="cursor:pointer;" >'.$print['user_grade'].'</td>
    <td style="cursor:pointer;" >'.$print['user_class'].'</td>
    <td class="center"><a href="edit_user.php?user_id='.$print['user_id'].'" title="编辑"><img src="images/edit.png"></a></td>
    <td class="center"><a href="del_user.php?user_id='.$print['user_id'].'" title="删除"><img src="images/drop.png"  onclick="return confirm(\'确定删除该用户吗?\')"></a></td>
    </tr>';
    }
    //循环输出用户信息结束 print '</table>';
    ?>
    7楼的兄弟,这个是我改完后的,但是始终都是定位在第一个tr上面.
      

  6.   

    document.getElementById('cb' + obj.name.substring(2)).checked = true;
    打印checked之前的对象,对象没有变,所以一直定位在第一行
      

  7.   

    你的代码中其实他给的JS没有错,你的输出有问题
    <tr style="cursor:pointer;" name = "tr" id="tr1" onclick="test(this)">
    <td><input type="checkbox" name="cb1" id="'.$print['user_id'].'"></td>
    这两句中的ID都是定值,都是tr1和cb1,而JS中的是动态的,要实现你的功能,这里应该写成’tr‘+i和‘cb’+i,i为行数