Jquery Dialog在包含textfield,textareas等时多次打开

时间:2017-04-12 16:11:05

标签: jquery jquery-ui dialog

出于某种原因,当我打开包含输入类型的对话框时,它会打开多个对话框。

这是我的代码:

    var addTagsDialog = $("<p>This is just a test tag</p> <br /><input type='text' />");

    addTagsDialog.dialog({
      buttons: {
        "Update": function () {
          console.log('Update Func Run');
        }
      },
      Cancel  : function () {
        addTagsDialog.dialog('destroy').remove();
      }
    });

这是一个小提琴:https://jsfiddle.net/jrrxxbdg/

如果我拿出来:

  <br /><input type='text' />

然后它只打开一个对话框模态。

我正在使用这些版本:

  • jquery 1.9.1
  • 的jquery-UI-1.9.2

有人能看出为什么会这样吗?

我读到另一个问题,可能是因为我在使用它们之后并没有破坏模态,但是每次我使用了一个模态我都添加了

dialog('destroy').remove();

这并没有解释它是如何在JSFiddle中复制的。

有什么想法?

1 个答案:

答案 0 :(得分:1)

您需要将所有内容都包装到DIV中。当您以这种方式创建元素时,您将创建一个由4个独立元素组成的jQuery集合(<p>textElement<br><input>)。然后它为每个人创建一个对话框。

使用:

var addTagsDialog("<div><p>This is just a test tag</p> <br /><input type='text' /></div>");
相关问题