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 に答える