1

我创建了两个 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");


} 
4

0 回答 0