4

treelist複数のレベルが含まれており、子がクリックされたときに親が表示されるcheckboxesようにしようとしています。何らかの理由でこれは機能せず、私を殺しています。checkbox'checked'checkboxes

ジャバスクリプト

$(function() {
        $("input.boundChild[type=checkbox]").click(function() {              
            $(this).closest("input.boundParent").prop("checked", "checked");
        });
 });

HTML

<ul>
   <li class="collapsed expanded">
       <input id="0" class="boundParent" type="checkbox" >
        Australia
             <ul style="display: block;">
               <li>
                  <input id="0/" class="boundChild" type="checkbox" checked="">
                  <input type="hidden" value="Intel Australia PTY Ltd.">
               </li>
             </ul>
   </li>
</ul>
4

2 に答える 2

9

input要素は子を持つことができません。マークアップinput.boundParentでは、 の親の 1 つではありませんinput.boundChildulそれは要素の兄弟です。メソッドを使用できますprev

$(function() {
    $("input.boundChild[type=checkbox]").click(function() {              
        $(this).closest('ul').prev().prop("checked", this.checked);
        // $('input.boundParent').prop("checked", this.checked);
    });
});

http://jsfiddle.net/dhVvN/

于 2012-10-17T12:44:56.667 に答える
0

試す:

$(this).parent("li.expanded").find("input.boundParent").attr("checked","checked");

expanded子を選択したときに親 li が常にクラスを持っている場合。

于 2012-10-17T12:44:18.497 に答える