创建一个函数select-all jquery

时间:2012-06-26 04:43:03

标签: jquery checkbox selectall

我有一个从网站上获取的select-all 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/。任何身体都能给我一个线索,我应该修复哪一部分?或者我的功能有什么问题?

1 个答案:

答案 0 :(得分:3)

请检查

<强> DEMO

CODE

<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>区块内。