2012-09-25 3 views
0
function getData(url) { 
    $.getJSON(url, function(result) { 
     $('#formNav ul').append('<ul/>') 
     $.each(result, function() { 
      var list = $('#formNav li'), 
      listItem = $('<li/>'), 
      html = listItem.append($('<h5/>').text(this.name)); 
      $.each(this.items, function() { 
       listItem.append($('<a />').attr('href', this.id).text(this.name)) 
      }); 
      list.append(html) 
     }); 
    }); 
}; 




$(function(){ 


     var Menu = { 

       $menu: $('.config-nav #formNav'), 
       $trades : $(".config-nav select#tradesmanList"), 
       $skills : $(".config-nav select#jobList"), 

       init: function(){ 
         var $menu = Menu.$menu; 

         // Set menu up 
         $menu.children("li").addClass('closed'); 
         $menu.find(".js-reveal").hide(); 

         Menu.$skills.attr("disabled", "disabled"); 
         Menu.$trades.on("change", function($skills){ 
         Menu.$skills.removeAttr("disabled"); 
         }); 

         // bind to click on the item... 
         $menu.on("click", "h4", this.toggle); 


       }, 

       toggle: function() { 
         // Toggle the hide show of the drill down menu 
         var $this = $(this), 
           $category = $this.parent(); 
        console.log($this.parent().index()); 

        var data = getData("test.json"); 

        $category.addClass("loading").toggleClass("open"); 
        $this.next(".reveal").delay(100).toggle(0, function(){ 
         $category.Data; 
         $category.removeClass("loading"); 


        }); 
       } 

     }; 

     Menu.init(); 
}); 

json 데이터를 반환하는 함수가 있습니다. 그런 다음 데이터를 표시하기 위해 Menu 함수에서이 함수를 호출합니다. 그러나 버튼을 클릭 할 때마다 데이터가 생성되고 대신 데이터를 표시하고 싶습니다. 다시 한 번 클릭하면 데이터가 숨겨 집니까? 누구든지 위대 할 조언이 있다면. 감사합니다. . 당신은 토글 함수를 호출 이제까지 당신의 봐 ... 왜 토글 함수 외부에 GetData 메서드를 이동하고 대신하지 않는 기능을 초기화하기 위해 이동jquery의 버튼에서 바인딩 해제를 제거 하시겠습니까?

var data = getData("test.json"); and then use it to populate the list.. 

를 사용하여 데이터를 얻을 수가

답변

0

그것은 괜찮을 것 같아요. ..

+0

나는 선 앞에 // 항목을 클릭하여 바인딩했습니다. ... $ menu.on ("click", "h4", this.toggle); 하지만 여전히 데이터를 반복하는 것처럼 보입니까? 토글 기능에서 여전히 category.data를 호출합니까? 감사 – user1692118

관련 문제