1

我正在使用 Ajax 填充下拉列表

$(document).ready(function() {

    var ID = $("#ID").val();

    fillDropdown(ID); //fills the dropdown via an $.ajax call

    var anotherID = @Model.AnotherID;

    //alert(anotherID);
    $("#AnotherID").val(anotherID); //try to set the selected value

});

下拉菜单在页面中定义为:

@Html.DropDownListFor(x => x.AnotherID, Enumerable.Empty<SelectListItem>())

设置下拉列表选择值的行是:$("#AnotherID").val(anotherID);

只有当我取消注释上面的警报时它才有效!

任何想法为什么?

4

1 回答 1

2

Ajax 调用是异步的。您必须在 Ajax 调用完成后设置选定的值。警报正在为您争取时间……这就是它与警报一起使用的原因。如果您使用的是 jquery,请添加一个 onsuccess 回调并在回调中设置选定的值。

于 2013-06-13T09:31:10.920 回答