2016-08-18 11 views
0

JQMでajaxを使用してドロップダウンリストにオプションを追加しようとしています。最初のオプションは、静的に無効にされた選択された非表示のオプションです。他のオプションは、ajaxを使用してWebサービスから抽出されます。ドロップダウンリスト自体はポップアップウィンドウ内にあります。ajaxを使用して選択する追加オプションを追加する

これは私のコードです:

<div data-role="popup" id="puIceCream"><div> 
    <center>Select Flavor:</center> 
    <select id="ddlFlavorsIC"> 
     <option value="" disabled selected hidden>Please Choose...</option> 
     <!--Flavors are added here--> 
    </select> 
</div> 

とJSコードは以下の通りです:

$("#puIceCream").on("popupafteropen", function (event) { 
    if (!$("#ddlFlavorsIC option").length) { 
     WebServiceURL = "IceWS.asmx"; 
     $.support.cors = true; 
     $.ajax({ 
      url: WebServiceURL + "/GetFlavors", 
      dataType: "json", 
      type: "get", 
      data: "{ }", 
      contentType: "application/json; charset=utf-8", 
      error: function (err) { 
       alert("error: " + JSON.stringify(err)); 
      }, 
      success: function (data) { 
       var size = data["d"].length; 
       for (var i = 0 ; i < size; i++) { 
        $("#ddlFlavorsIC").append("<option>" + ((String)(data["d"][i].value)) + "</option>"); 
       } 
      } 
     }); 
    } 
}); 

私はマークアップで静的に隠さオプションを削除した場合、それが正常に動作しますが、何らかの理由でそれはdoesnのそれに取り組んでいない。何故ですか?

ありがとうございます!

答えて

0

変更

if (!$("#ddlFlavorsIC option").length) { 

if ($("#ddlFlavorsIC option").length < 2){ 

ので、あなたの1 staticオプションを使用すると、IF文を入力しないようになり、ドロップダウンでゼロオプションがある場合、あなたのコードは唯一の味を追加します。

DEMO

+0

すごいああ、私はそれに気づかなかったなんて信じられません!ご協力いただきありがとうございます! – Jadenkun

関連する問題