Javascript Jquery UI对话框只显示一次
我有三个部分的简单标记。我想在单击用户名时在弹出窗口中显示用户信息。为此,我使用了Jquery UI dialog()。对于每个部分,此弹出窗口仅打开一次。我尝试先设置对话框({autoOpen:false}),然后尝试调用对话框('open')。但在这种情况下,对话框甚至一次也不会打开。这是密码Javascript Jquery UI对话框只显示一次,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我有三个部分的简单标记。我想在单击用户名时在弹出窗口中显示用户信息。为此,我使用了Jquery UI dialog()。对于每个部分,此弹出窗口仅打开一次。我尝试先设置对话框({autoOpen:false}),然后尝试调用对话框('open')。但在这种情况下,对话框甚至一次也不会打开。这是密码 $(函数(){ /* 若我取消第行下面的注释,那个么它一次都不工作,并且并没有给出错误 */ //$(.ideatorInfo”).dialog({autoOpen:false}); $(“.ide
$(函数(){
/*
若我取消第行下面的注释,那个么它一次都不工作,并且并没有给出错误
*/
//$(.ideatorInfo”).dialog({autoOpen:false});
$(“.ideatorInfo”).hide();
$('.ideator')。在('click',function()上{
$(this).parent().find(“.ideatorInfo”).show()对话框({
自动打开:错误
}).对话框(“打开”);
});
});代码>
.ideatorInfo{
边框底部:1px实心;
字号:1.5em;
垫底:3em;
}
.思维者{
背景色:#c4dfe6;
光标:指针;
边缘底部:.5em;
}
.ideator:悬停{
背景色:#003b46;
颜色:白色;
}
.思想内容{
保证金:3em;
填充:1em;
}
姓名:约翰·梅尔
Lorem ipsum dolor sit amet,是一位杰出的献身者。Morbi rhoncus libero nibh,位于欧盟威尼斯河畔发酵池。万岁。佩伦特斯式的自由语速。每一个康努比亚诺斯特拉,每一个
伊塞普托斯·希梅纳奥斯。我们的生活是精英的生活,而不是普通的生活。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。佩伦茨克里苏斯的菲塞勒斯。
地位
进行中
这是我的建议
约翰·梅尔
电邮:
厕所。Mayer@star.com
SAP ID:
该名称:
本部门:
这
姓名:莉莉·威尔斯
Lorem ipsum dolor sit amet,是一位杰出的献身者。Morbi rhoncus libero nibh,位于欧盟威尼斯河畔发酵池。万岁。佩伦特斯式的自由语速。每一个康努比亚诺斯特拉,每一个
伊塞普托斯·希梅纳奥斯。我们的生活是精英的生活,而不是普通的生活。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。佩伦茨克里苏斯的菲塞勒斯。
地位:
进行中
这是我的建议
莉莉·威尔斯
电邮:
百合花Wills@star.com
SAP ID:
该名称:
本部门:
这
姓名:汤姆·莫里森
Lorem ipsum dolor sit amet,是一位杰出的献身者。Morbi rhoncus libero nibh,位于欧盟威尼斯河畔发酵池。万岁。佩伦特斯式的自由语速。每一个康努比亚诺斯特拉,每一个
伊塞普托斯·希梅纳奥斯。我们的生活是精英的生活,而不是普通的生活。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。佩伦茨克里苏斯的菲塞勒斯。
地位:
进行中
这是我的建议
汤姆莫里森
电邮:
汤姆。Morrison@star.com
SAP ID:
该名称:
本部门:
这
这是:
$(".ideatorInfo").hide();
$('.ideator').on('click', function() {
$(this).parent().find(".ideatorInfo").each(function(){
$(this).show();
$(this).dialog({
autoOpen: false
}).dialog('open');
}
});
因为.dialog会将siblin.ideatorInfo
移动到其他位置(从开发工具,它被移动到节的尾部),所以第二次单击它们时,您无法使用$(this.parent().find(“.ideatorInfo”)
获取它
您可以保留对该元素的引用,然后无论它被移动到哪里,您仍然可以使用.dialog('open')
打开它
请检查此版本:
更改是每次单击时,所需的块.ideatorInfo
都会被复制并添加到对话框中:
var $elem = $(this).parent().find(".ideatorInfo");
var $copy = $elem.clone();
$copy.appendTo(document.body).show().dialog({autoOpen:false}).dialog('open');
在您的情况下,在第一个对话框关闭后,DOM元素。ideatorInfo
被删除,无法再次显示
var $elem = $(this).parent().find(".ideatorInfo");
var $copy = $elem.clone();
$copy.appendTo(document.body).show().dialog({autoOpen:false}).dialog('open');