在重装mvc partial时选择不在jquery对话框中工作

时间:2012-12-09 16:52:23

标签: jquery-ui jquery-ui-dialog asp.net-mvc-partialview jquery-chosen

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

有关为何可能发生这种情况的任何见解?

1 个答案:

答案 0 :(得分:0)

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