伪造复选框[使用jquery]

Fake Check boxes [ with jquery ]

本文关键字:jquery 使用 复选框 伪造      更新时间:2023-09-26

我在元素[like <span>]中创建了一些假复选框(在真实复选框之后)它们工作得很好!我想要的只是,当一个复选框点击(选中)时,我如何计算选中的复选框;

我知道一些方法,比如:

$(".elm:checked").length;

但它工作不好!

我有以下代码来计算复选框,例如:

    $(document).ready(function(){
        $(".mycheckbox").click(function(){
    $(".checkbox").click(function(){
    alert($(".checkbox:checked").length)); // returns : if check box is checking return 0, if remove checked it returns 1 , its incorrect ! should be if checking return 1 else return 0
    });

    });
}

我知道这是因为我的假支票箱,当用户点击假复选框时,jquery中的一个新函数会点击真复选框,然后它就可以正常工作了!

有人吗?知道吗!?

[sry,我的英语很差]

jsfiddle:http://jsfiddle.net/E2kjM/2/

jquery中的选择器不正确。$('mycheckbox')正在文档中搜索一个标记<mycheckbox>,该标记几乎肯定不存在。

我假设你的假复选框是通过<span>元素上的CSS类名完成的,例如<span class="mycheckbox">,在这种情况下你需要进行

$('.mycheckbox').length;
   ^--- CSS class name selector

使用"change"代替"click"。

Exsample: http://jsfiddle.net/E2kjM/3/

试试这个,

mycheckboxcheckbox是2个classes,而click eventtriggered

$(function(){ 
    $(".mycheckbox,.checkbox").click(function(){
        alert($(".checkbox:checked").length)); 
    });
});

为什么在另一个点击处理程序中有点击处理程序。尝试使用trigger(),但没有标记mycheckbox,所以我猜您缺少一些选择器。假设它是一个类。.

试试这个

 $(document).ready(function(){
    $(".mycheckbox").click(function(){
        $("checkbox").trigger('click');
    });
     $("checkbox").click(function(){
      alert($("checkbox:checked").length)); // returns : if check box is checking return 0, if remove checked it returns 1 , its incorrect ! should be if checking return 1 else return 0
     });
  }

计数器CSS也可以这样做:http://codepen.io/gcyrillus/pen/mshLl

body {
    counter-reset: checboxes;
}
:checked {
    counter-increment:checboxes;
}
span:after {
    content: counter(checboxes)' checked'; 
}