我正在编写一个对话框弹出窗口来执行某项任务。 Popup第一次正常开放,但没有出现第二次点击。这是我用来打开弹出窗口的代码,你能告诉我这里有什么问题吗?
$(document).ready( function() {
$( "#ALERT_POPUP" ).dialog({
autoOpen: false,
height:400,
width:900,
modal:true,
show: 'slide',
hide: 'slide',
close: function(ev, ui) {$(this).remove();}
});
});
$( "#alertPopup").click(function() {
$.ajax({
url: "alertAction.do?reqCode=alertSearch",
success: function(returnedData){
$('#ALERT_POPUP').empty().append(returnedData).dialog('open');
return false;
}
});
});
问题:我也希望在对话框单窗口上进行多项操作。有人可以给我一些指针,可以多次提交对话框,而无需转到父窗口吗?请帮忙!!!
答案 0 :(得分:1)
在对话框的关闭事件中,$(this).remove()表示从DOM中删除“#ALERT_POPUP”div,因此第二次要打开对话框时,它不存在。我认为没有必要举行近距离活动。
修改强>
一个工作示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test</title>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready( function() {
$( "#ALERT_POPUP" ).dialog({
autoOpen: false,
height:400,
width:900,
modal:true,
show: 'slide',
hide: 'slide'
});
$("#alertPopup").click(function() {
$.ajax({
url: "test.html",
success: function(returnedData){
$('#ALERT_POPUP').empty().append(returnedData).dialog('open');
return false;
}
});
});
});
</script>
</head>
<body>
<div id="ALERT_POPUP"></div>
<button id="alertPopup">Click!</button>
</body>
</html>
请注意,close事件已被删除,“#alertPopup”单击init位于$(document).ready函数内。