出于某种原因,当我打开包含输入类型的对话框时,它会打开多个对话框。
这是我的代码:
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();
}
});
如果我拿出来:
<br /><input type='text' />
然后它只打开一个对话框模态。
我正在使用这些版本:
有人能看出为什么会这样吗?
我读到另一个问题,可能是因为我在使用它们之后并没有破坏模态,但是每次我使用了一个模态我都添加了
dialog('destroy').remove();
这并没有解释它是如何在JSFiddle中复制的。
有什么想法?
答案 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>");