日期:2014-05-16  浏览次数:20326 次

jquery 赛选问题
我给一个表格的每行添加一个事件,实现点击行复选框选中,现在的问题是,我如果不点击行而是点击行里复选框,那就有问题了, 求解决,后来我改成给每列添加事件,但是我如何把复选框那列排除掉呢,
复选框在每行的第一列里

------解决方案--------------------
    <div id="tt">
        <input type="text" id="yes">有阻止 <br/>
        <input type="text" id="no">没阻止
    </div>
<script type="text/javascript">
        document.getElementById("tt").onclick=function(){
            alert("div也点击了!");
        };
        document.getElementById("yes").onclick=function(e){
            alert("我不冒泡的!");
            if(window.event){
                event.cancelBubble = true;
            }else{
                e.stopPropagation();
            }
        };
        document.getElementById("no").onclick=function(){
            alert("我是冒泡的!");
        };
</script>
------解决方案--------------------
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>

<table id="list" border="1">
<tr>
<td>#</td>
<td>col1</td>
<td>col2</td>
</tr>
<tr>
<td><input type="checkbox" name="item" value="001" /></td>
<td>aaa</td>
<td>bbb</td>
</tr>
<tr>
<td><input type="checkbox" name="item" value="002" /></td>
<td>ccc</td>
<td>ddd</td>
</tr>
</table>

<script>
$(document).ready(function(){
$("#list input[type='checkbox']").click(function(event){
event.stopPropagation();
});
$("#list tr").click(function(){
$(this).find("td:first > input[type='checkbox']").attr("checked", true);
});
});
</script>

</body>
</html>