2015-09-06 53 views
0

我是一個人口下降與jQuery阿賈克斯和之後,我想改變選定的項目。如何更改填充jQuery的下拉選中的項目?

我用於更改所選項目的代碼工作正常時,我不填充下拉沒有jQuery,但它不工作時,我填充它與Ajax。

如何解決?

<select id="agent" name="AgentId"></select> 
$(document).ready(function() { 
$("#agent").empty(); 
$.getJSON("/cpanel/rate/GetAgentsByPortId", { portId: $(this).attr("pol") }, function (data) { 
    var i = 0; 
    for (var i = 0; i < data.length; i++) { 
     $("#agent").append("<option value='" + data[i].AgentId + "'>" + data[i].Name + "</option>"); 
    } 
}); 
$("#agent>option:eq(1)").attr('selected', true); 
}); 

回答

0

AJAX是一個短期的異步JavaScript和XML

這意味着,請求是異步的,它的響應將來會發生,響應的處理也是如此。如果將來發生處理(追加選項),則不能在當前時間使用結果(選擇選項)。

嘗試這樣的:

<select id="agent" name="AgentId"></select> 
$(document).ready(function() { 
$("#agent").empty(); 
$.getJSON("/cpanel/rate/GetAgentsByPortId", { portId: $(this).attr("pol") }, function (data) { 
     var i = 0; 
     for (var i = 0; i < data.length; i++) { 
      $("#agent").append("<option value='" + data[i].AgentId + "'>" + data[i].Name + "</option>"); 
     } 
     $("#agent>option:eq(1)").attr('selected', true); 
    }); 
}); 
+0

謝謝,但沒有工作對我來說:( –

+0

在哪些方面做到了不行再說,即使它沒有工作,我希望你明白爲什麼你的代碼*? **不能***的工作,以及如何走向一個解決方案。 – Amit