2013-07-08 84 views
0

我有一個2 msDropDowns的頁面。在更改第一個列表的值後,我想加載第二個列表的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); 
     });