1

我正在MVC使用以下代码在 jQuery UI 对话框中加载两个部分视图来编辑和添加记录:

$.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可用的东西可以代替选择的东西。如果我打开一个对话框说添加,然后打开第二个对话框,也会发生这种情况。第一个(添加)的绑定和其他功能消失了。

关于为什么会发生这种情况的任何见解?

4

1 回答 1

0

导致我的问题的问题是,我通过 AJAX 加载的模式具有与页面上已经存在的输入字段相同的 ID 的输入(使用具有模型字段的通用 ID 生成器的 Django)。当在选择器上重新触发 .chosen() 时,这会导致两个输入之间发生冲突。当我使 ID 字段唯一时,一切都按预期工作。希望这会有所帮助。

于 2013-01-15T03:23:14.593 回答