本帖最后由 yangbenmu1988 于 2012-09-15 14:42:24 编辑

解决方案 »

  1.   

    就是点击了table里的checkbox内容,调用了两次click事件代码。靠,这里贴图怎么这么麻烦,图片都不现实的。
      

  2.   

    http://tieba.baidu.com/p/1862161034
    我在php百度贴吧的帖子,麻烦点击观看就知道我的意思了
      

  3.   

    呵呵,Lz这是点的label区域吧?因为label关联的checkbox也被有一个关联操作。所以,当label被点击时,默认checkbox也被点击了一次。Lz这是事件冒泡了
    你有两个办法:
    第一个方法:将checkbox移出label,传统的label与checkbox关联,应该是通过label的for属性的.比如:
    <input type="checkbox" id="a1"/><label class="foot" for="a1">3.35</label>第二个方法:判断激活事件的对象,阻止checkbox的click事件<script type="text/javascript">
    $('.foot').click(function(event){
        if(event.target.type!="checkbox"){
            $(this).find(":checkbox").click(function(){
                event.stopPropagation();
            })
        }
        var fu=$(this).text();//-------------------------------取得到点击的赔率
        //获得其父节点
        var s=$(this).closest("tr").find("th");
        var fu1 =s.eq(0).text();//----取到004
        var fu2 = s.eq(4).text();//----取得到主场
        var fu3 =s.eq(6).text();//-----取得到客场
        var b=$(this).closest("table").find("tr:first th");
        var index=$(this).parent().index();
        var fu4 = b.eq(index).text();
        var a=fu1+"%"+fu2+"%"+fu3+"%"+fu4+"%"+fu+"%";
        alert(a)
        $("#tr").after("<tr><th>"+fu1+"</th><th>"+fu2+"</th><th>"+fu3+"</th><th>"+fu4+"</th><th>"+fu+"</th></tr>");
        var hr = $("#display").attr("href");
        $("#display").attr("href",hr+a);
    });
    </script>
      

  4.   

    或许你的checkbox命名不一定规范,需要考虑点兼容性
    将上面的:
    if(event.target.type!="checkbox"){变更为:
    if(event.target.type.toLowerCase()!="checkbox"){