jQuery没有刷新select元素

时间:2013-08-06 02:15:27

标签: jquery asp.net-web-api

单击按钮从MVC4 / WebAPI应用程序中获取数据时,似乎无法使以下功能正常工作。问题是当我单击调用此函数的按钮时,它在第一次调用时工作,它获取数据并且控件将填充适当的数据。

但是当我第二次单击该按钮时,select元素(#lIItems)将返回第一个选项,而不是返回记录中的选定项。我认为通过撒上selectmenu('刷新')可以做到这一点,但无济于事。

function getPOById() {
    $.ajax({
        type: "GET",
        url: webroot + "api/items?POId=" + $("#txtPOId").val(),
    }).done(function (data) {
        $("#txtSupplierName").val(data.SupplierName);
        $("#txtQuantity").val(data.Quantity);
        $("#txtUnitPrice").val(data.UnitPrice);
        $('#lstItems option').each(function () {
            $(this).removeAttr('selected');
            $("#lstItems").selectmenu("refresh");
            if ($(this).attr('value') == data.ItemId) {
                $(this).attr('selected', 'selected');                    
            }
            $("#lstItems").selectmenu("refresh");
        });            
    }).fail(function (err) {
        alert("Error " + err.status + "Code " + err.statusCode); 
    });
    $("#lstItems").selectmenu("refresh");
}

1 个答案:

答案 0 :(得分:0)

数据中发生的情况会附加到以前的数据中。 在重新填充之前,您必须“重置”或清除选择菜单的内容作为完成功能的第一部分

.done(function (data) {
$("#lstItems").html('');

....