2013-07-08 4 views
0

2 msDropDowns가있는 페이지가 있습니다. 첫 번째 목록의 값을 변경 한 후 der 2 목록의 JSON 데이터를로드하고 데이터를 변경하려고합니다. 문서에서 JSON을 통해 msDropDown 목록을 업데이트하는 방법은 무엇입니까?

$.ajax({ 
    url: "http://foo.bar/data.json", 
    type: "POST", 
    data: { 
     article: produkt, 
     color: farbe, 
     size: groesse, 
     form: typ 
    } 
}).done(function (data) { 
    var json = $.parseJSON(data); 
    $('#colors').msDropDown({ 
     byJson:{ 
      data: json.color, 
      name: 'color', 
      width: 220 
     } 
    }).data('dd'); 

:-(더 갱신 기능입니다 그래서? 어떻게 msDropDown 목록을 변경하는

답변

2

는 다음으로 대체 DIV를 사용하는 $ ('# 색상')의 경우

//now code starts 

//destroy dropdown before ajax call 


var tempddl=$("#colors").msDropDown().data("dd"); 
    tempddl.destroy(); 

$.ajax({ 
    url: "http://foo.bar/data.json", 
    type: "POST", 
    data: { 
     article: produkt, 
     color: farbe, 
     size: groesse, 
     form: typ 
    }, 
      success: function (data) { 
       var returnedata = data; 


       var ophtml=''; 

       Y.each(returnedata, function(key, value) { 
//bind data into option filed if you want to display image then place image src in //title attribute 
        ophtml+='<option title='+returnedata[key].image+' value='+returnedata[key].value+'>'+returnedata[key].text+'</option>'; 
        }); 

        Y('#colors').html(ophtml); 
        Y("#colors").msDropDown().data("dd"); 
      } 
     }); 
}); 
0

이 하나를 시도하십시오. 그것은 당신을 도움이 될 수 있습니다.

 $.ajax({ 
      url: "http://foo.bar/data.json", 
      type: "POST", 
      data: { 
      article: produkt, 
      color: farbe, 
      size: groesse, 
      form: typ 
     } 
     }).done(function (data) { 
      var json_data = $.parseJSON(data.responseText.trim()); 
      counter++; 
      for(var i=0;i<json_data.length;i++) { 
       json_data[i].text = json_data[i].NAME; 
       json_data[i].value = json_data[i].VALUE; 
       oHandler2.add(json_data[i]);//adding 
      } 
      oHandler2.showRows(json_data.length*h); 
     });