我创建了两个 jquery UI 对话框,其中包含选项卡式内容。每个选项卡都有一些表单,html 等。我还想在关闭时重置表单值。我在关闭事件中编写了函数,它几乎可以工作。
我的问题是,当我关闭一个对话框并尝试打开另一个对话框(不刷新页面)时,关闭按钮丢失。但是当尝试打开和关闭同一个对话框时,关闭按钮在那里并且它工作正常。
我的 HTML:
<!-----first tabbed dialog--->
<div id="tenant" style="display:none;">
<ul class="menu-ul">
<li><a href="#evnt" title="one" onClick="etcGroupPopulate();">1</a></li>
<li><a href="#event_type" title="two" onClick="etcCategoryPopulate();">2</a></li>
<li><a href="#event_locations" title="three">3</a></li>
<li><a href="#event_duration" title="four">4</a></li>
<li><a href="#event_repeat" title="five" onClick="etcRecurrencePopulate();">5</a></li>
<li class="ui-tab-dialog-close"></li>
</ul>
<div>
<div id="evnt"></div>
<div id="event_type"></div>
<div id="event_location"></div>
<div id="event_repeat"></div>
</div>
</div>
<!----second tabbed dialog---->
<div id="creatEvent" style="display:none;">
<ul class="menu-ul">
<li><a href="#event1" title="one"><label id="heading">Event</a></li>
<li><a href="#event_occurence" title="two">Recurrence</a></li>
<li class="ui-tab-dialog-close"></li>
</ul>
<div>
<div id="event1"></div>
<div id="event_occurence"></div>
<div id="event_location"></div>
<div id="event_repeat"></div>
</div>
</div>
我的jQuery:
$('#rem_wizard').click(function(){
tabpopup();
$('#tenant').tabbedDialog();
});
$('#create_event').click(function(){
tabpopup();
$('#creatEvent').tabbedDialog();
});
function tabpopup()
{
$.fn.tabbedDialog = function () {
this.tabs();
this.dialog({
'modal':true,
'minWidth':700,
modal: true,
resizable: true,
closeOnEscape: false,
'minHeight':500,
'draggable':true,
close: clear
});
this.find('.ui-tab-dialog-close').append($('a.ui-dialog-titlebar-close'));
this.find('.ui-tab-dialog-close').css({
'position':'absolute',
'right':'0',
'top':'23px'
});
this.find('.ui-tab-dialog-close > a').css({
'float':'none',
'padding':'0'
});
var tabul = this.find('ul:first');
this.parent().addClass('ui-tabs').prepend(tabul).draggable('option','handle',tabul);
this.siblings('.ui-dialog-titlebar').remove();
$('.next, .prev').on('click', function() {
var x= $(this).attr('title');
$("a[title='"+x+"']").trigger("click");
});
}
}
function clear() {
$("#event1").closest('form').find("input[type=reset]").trigger("click");
$("#payment, #payment1, .event_ends").hide();
$("#event_locations").closest('form').find("input[type=reset]").trigger("click");
$("#one").closest('form').find("input[type=reset]").trigger("click");
$("#event_type").closest('form').find("input[type=reset]").trigger("click");
}