2016-11-11 2 views
0

私は2つのブートストラップマルチドロップドロップダウンを持っています。最初のドロップダウンの選択では、私は2番目のドロップダウンのドロップダウンリストをバインドする必要があります。別のドロップダウン選択に基づいて、ブートストラップマルチドロップドロップダウンに新しいオプションを追加する方法は?

私は最初のドロップダウンセレクションオプションを送信し、セカンドドロップダウンの値のjsonオブジェクトを正常に取得しているので、ajax呼び出しを使用しています。 は、ここに私のコードです:

function FillZonesDropdown(BUId) { 
    debugger 
    var bu = BUId; 

    bu = bu.join(","); 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "@Url.Action(" 
     BindZonesOnBU ", " 
     mycontroller ")", 
     data: "{BUIds:" + bu + "}", 

     success: function(Result) { 
      debugger; 
      var data = Result; 
      $("#ddlZone").html(""); 

      $.each(Result, function(key, value) { 
       $("#ddlZone").append($("<option></option>").val(value.Value).html(value.Text)); 
      }); 

     } 

    }); 
} 

しかし、私は2番目のドロップダウンのオプションリストの変化を見ていないです。 SOの質問の中で提案されているように

私は

$("#ddlZone").multiselect("rebuild"); 

を使用して試してみました。しかし成功なし。

誰かが私を正しい方向に導くことができれば素晴らしいと思います。

+0

$ .each(結果、機能(キー、値){ "<オプション値= \" "+ value.Value + "\">" + value.Value + " " });$( '#ddlZone')。multiselect( 'refresh'); –

+0

それはうまくいったが、小さな変化があった。 。 $( '#ddlZone')。マルチセレクション( 'リフレッシュ'); $ .each(Result、function(key、value)){ $( "#ddlZone")} $ {""} .val(value.Value).html(value.Text)); } ; $( "#ddlZone")。multiselect( "rebuild"); –

答えて

0

このコード

を試してみてください
 $.each(Result, function (key, value) { 
      $("#ddlZone").append($("<option value="+value.Value+">"+value.Text+"</option>"); 
     }); 
$('#ddlZone').multiselect('refresh'); 
関連する問題