引导箱模式未设置“已选择”选择列表项

时间:2019-01-22 10:01:40

标签: jquery html bootstrap-modal selectlist bootbox

我在引导箱模式内有一个表单,该表单通过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);
                    })

当我打开模式弹出窗口时,所选项目仍然不是数据库中的值,但是当我在浏览器中单击“刷新”按钮并再次尝试时,它可以工作。如果我打开一个新的数据记录,它会记住先前的选择,因此我必须再次单击“刷新”才能使其工作。谁能告诉我这里发生了什么事?每次我从数据库加载新项目时,这肯定应该起作用

0 个答案:

没有答案