0

ネストされたネストされたネストされたリストを作成していますbufferが、UL 内での割り当てに問題があります。やってみ$('ul#lists').html(buffer)たけど印刷されない…

JSON

{
"browse": [
    { 
        "name":"browse by state" , 
        "command":"state" }, 

    { 
        "name":"browse by equipment" , 
        "command":"equipment" }, 

    { 
        "name":"browse by brand" , 
        "command":"brand" }
]
}

HTML

<section id="browser">
        <ul id="lists"></ul>
</section>

JQuery

$(function(tree_click){
    $('ul#lists').on('click','.c',function(){
    var test = "";
    $(this).removeClass('c'); //To assign this event once

    $.get('scripts/list.json', function(result, status){    
        var buffer = "";
        $.each(result, function(i, val){            
            for(var i=0; i < val.length; i++){ 
            var item = val[i];
            buffer+="<li><a href='#' cmd='"+item.command+"'>"+item.name+"</a></li>";} 
        });
        $(e.target).parent().append(buffer);
    });
});
});

問題は解決された。解決策で質問を更新しました。

しかし今、私のリスト トグルが機能しません。

これをトグルに使用し、

$(function(toggle_list){
$("#lists").on('click','a', function() {
    return !($(this).parents("li:first").find("ul:first").slideToggle('fast'))
});
});

テイクはありますか?

4

2 に答える 2

1

変化する:

$('ul#lists').on('click','.c',function(){ 

に:

$('ul#lists').on('click','.c',function(e){

この関数内で $.get 呼び出しの前に var バッファーを指定します。

クリックされた UL に追加するには、クリック ハンドラー内で次のようにします。

$(e.target).append(buffer);
于 2013-10-29T04:45:33.097 に答える