我有很多对话框,我需要一个简单的解决方案来关闭按钮。我真的不想写大量的代码来关闭每一个。
我想对我要关闭对话框的所有按钮和链接使用class =“btnDone”。除了在每个对话框中为每个按钮的每个实例编写单独的函数之外,还有更简单的方法吗?
以下是其中一个对话框代码的示例:
<script>
// increase the default animation speed to exaggerate the effect
$.fx.speeds._default = 1000;
$(function() {
$( "#forgotPassword" ).dialog({position:['middle',60],
open: function(event, ui) {
jQuery('.ui-dialog-titlebar-close').removeClass("ui-dialog-titlebar-close").html('<span style="float:right;"><img src="../images/x.png" /></span>');
},
dialogClass: 'ui-widget-shadow',
modal: true,
autoOpen: false,
width: '650px',
close: function(ev, ui) {$(this).close();}
});
$( ".forgotPasswordOpen" ).click(function() {
$( "#forgotPassword" ).dialog( "open" );
return false;
});
});
</script>
<div style="display:none">
<div id="forgotPassword">
<!--#include file="modal08.asp"-->
</div>
</div>
如何使用class =“btnDone”编写close函数?
答案 0 :(得分:5)
你看过API了吗?这就像打开一个
$( ".btnDone" ).click(function(){
$('.ui-dialog-content').dialog( "close" );
})
答案 1 :(得分:1)
我认为你正在尝试拥有一个关闭所有对话框的大师。如果每个对话框都包含一个样式为.btnDone
的按钮,例如:
<div>
My great dialog
<button class="btnDone">Get outta here</button>
</div>
<div>
Another thought
<button class="btnDone">Close</button>
</div>
<div>
Check this out
<button class="btnDone">Away!</button>
</div>
您可以使用$('.btnDone').parent('div').dialog('close');
关闭,或$('.btnDone').parent('div').hide();
隐藏所有对话框。
有关工作示例,请参阅http://jsfiddle.net/jhfrench/PHcL4/1/。
答案 2 :(得分:1)
<script>
$( ".btnDone" ).click(function() {
$(this).parent().dialog( "close" );
});
</script>
<div id="forgotPassword">
<input type="button" class="btnDone" value="Done" />
</div>
<div id="forgotUsername">
<input type="button" class="btnDone" value="Done" />
</div>
假设按钮在对话框内,您只需要调用按钮的.parent()来引用该特定对话框。
我之前没有使用过jQuery UI,所以不知道“close”是否会传递给关闭它的对话框。