У меня есть форма внутри модальной загрузки, которая заполняется через ajax и вызывает действие контроллера mvc.Форма заполнена правильными данными, но я не могу установить выбранный элемент в списке выбора.
В моей функции 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
});
это работает, как и ожидалось, за исключением того, что значение «выбранный» для элемента списка выбора не совпадает со значением, полученным из базы данных, поэтому я добавил сюда некоторый код
.on('shown.bs.modal', function () {
$('#NewUser_UserRole').val($.trim(data.UserRole)).prop('selected', true);
$('#NewUser_Status').val($.trim(data.Status)).prop('selected', true);
})
, когда я открываю модальное всплывающее окно, выбранный элемент по-прежнему не является значением из базы данных, но когда я нажимаю кнопку «Обновить» в браузере и пробую снова, оно работает.Если я открываю новую запись данных, она запоминает предыдущий выбор, поэтому мне нужно снова нажать «обновить», чтобы она заработала.Кто-нибудь может сказать мне, что здесь происходит?Конечно, это должно работать каждый раз, когда я загружаю новый элемент из базы данных