内部にタブ付きのコンテンツを持つ 2 つの jquery UI ダイアログを作成しました。
私の問題は、1 つのダイアログを閉じて、(ページを更新せずに) 他のダイアログを開こうとすると、閉じるボタンが表示されないことです。しかし、同じダイアログを開いて閉じようとすると、閉じるボタンが表示され、正しく動作します。
私の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");
}