单击按钮从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");
}
答案 0 :(得分:0)
数据中发生的情况会附加到以前的数据中。 在重新填充之前,您必须“重置”或清除选择菜单的内容作为完成功能的第一部分
.done(function (data) {
$("#lstItems").html('');
....