0

私は 2 つの msDropDowns を持つページを持っています。最初のリストの値を変更した後、2 番目のリストの JSON データをロードしてデータを変更したいと考えています。

$.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 リストを変更する方法?

4

2 に答える 2

2

$('#colors') を使用している場合は 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");
            }
        });
});
于 2013-09-21T10:03:11.877 に答える
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);
         });
于 2014-06-04T15:24:24.287 に答える