我在引导箱模式内有一个表单,该表单通过MVC控制器动作的ajax调用填充。表单已正确填充基础数据,但无法在选择列表中设置所选项目。
在我的diaglog.init函数中,我像这样填充表单元素
dialog.init(function () {
var frm = document.querySelector("#userForm");
if ("NewUser_UserRole" in frm.elements) {
frm.elements["NewUser_UserRole"].value = data.UserRole;
}
if ("NewUser_Status" in frm.elements) {
frm.elements["NewUser_Status"].value = data.Status;
}
$(".modal .modal-dialog").attr("class", "modal-dialog zoomIn animated");
$("#userForm").show();// Show the data entry form
});
除了选择列表项“ selected”的值与从数据库中检索到的值不匹配外,这可以按预期工作,因此我在此处添加了一些代码
.on('shown.bs.modal', function () {
$('#NewUser_UserRole').val($.trim(data.UserRole)).prop('selected', true);
$('#NewUser_Status').val($.trim(data.Status)).prop('selected', true);
})
当我打开模式弹出窗口时,所选项目仍然不是数据库中的值,但是当我在浏览器中单击“刷新”按钮并再次尝试时,它可以工作。如果我打开一个新的数据记录,它会记住先前的选择,因此我必须再次单击“刷新”才能使其工作。谁能告诉我这里发生了什么事?每次我从数据库加载新项目时,这肯定应该起作用