1

我有一个从站点获得的全选 jquery 脚本(我忘记了链接)。确实,脚本没有问题。有用。但是,我打算将其重写为一个函数。只是,我被困住了。

这是ori脚本

    $("#selectall").click(function () {
     $('.case').attr('checked', this.checked);
});

$(".case").click(function(){
    if($(".case").length == $(".case:checked").length) {
        $("#selectall").attr("checked", "checked");
    } else {
        $("#selectall").removeAttr("checked");
    }
});

这是我写的函数:

function klikAll(id){
   var header = $('#' + id);
   $('.foo_' + hid).attr('checked', header.prop('checked') );
}

function klikSub(hid){
   var heder = $('#' + hid);
   var subheder = $('.foo_' + hid);
   var subhederc = $('.foo_' + hid + ':checked');

   if(subheder.length == subhederc.length) {
      heder.attr("checked", "checked");
   } else {
      heder.removeAttr("checked");
   }
}

问题是,该功能完全不起作用。在 jsfiddle 中,我重写了它http://jsfiddle.net/iamthom/aCJSY/6/。任何人都可以给我一个线索,我应该在哪一部分修复?或者我的功能有什么问题?

4

1 回答 1

3

请检查这个

演示

代码

<script type="text/javascript">
function klikAll(id) {
    var header = $('#' + id);
    $('.foo_' + id).attr('checked', header.prop('checked'));
}

function klikSub(hid) {
    var heder = $('#' + hid);
    var subheder = $('.foo_' + hid);
    var subhederc = $('.foo_' + hid + ':checked');

    if (subheder.length == subhederc.length) {
        heder.attr("checked", "checked");
    } else {
        heder.removeAttr("checked");
    }
}
</script>

将您的功能放在<script>块内。

于 2012-06-26T04:51:00.063 回答