我在jQuery UI对话框中加载了两个MVC
部分视图,使用以下代码进行编辑和添加记录:
$.get(url, function(data)
{
dialogDiv.html(data);
var $form = $(formid);
$form.unbind();
$form.data("validator", null);
$.validator.unobtrusive.parse(document);
var dat = $form.data("unobtrusiveValidation");
var opts = dat ? dat.options || '' : '';
$form.validate(opts);
//THIS FUNCTION ADDS PLUGINS ETC.
runEditCreateStartScripts();
dialogDiv.dialog('open');
});
以下是连接chosen
功能的功能。
function runEditCreateStartScripts(){
$("select.chzn-select").chosen(
{
no_results_text: "no match",
allow_single_deselect: true
});
}
第一次通话时一切都很完美。打开一个对话框后说编辑几次一切都坏了。只有hyperlink
可用来代替所选择的东西。如果我打开一个对话框说添加然后第二个对话框,也会发生这种情况第一个(添加)的绑定和其他功能消失了。
有关为何可能发生这种情况的任何见解?
答案 0 :(得分:0)
导致我的问题的问题是我通过AJAX加载的模式具有SAME ID作为输入字段的输入,该输入字段已经在页面上(使用具有模型字段的通用ID生成器的Django)。当在选择器上重新触发.chosen()时,这会导致两个输入之间发生冲突。当我使ID字段唯一时,所有都按预期工作。 希望这会有所帮助。