0

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

但是当我第二次单击该按钮时,选择元素 (#lstItems) 会返回到第一个选项,而不是返回记录中的选定项。我认为通过洒 selectmenu('refresh') 可以解决问题,但无济于事。

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");
}
4

1 回答 1

0

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

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

....
于 2013-08-06T02:26:35.293 回答