我使用jquery ajax下载人口,之后我想更改所选项目。
当我在没有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 :(得分: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);
});
});