如何更改用jquery填充的下拉列表中的选定项?

时间:2015-09-06 07:26:15

标签: jquery ajax

我使用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);
});

1 个答案:

答案 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);
    });
});