JQuery чистый старый диалог - PullRequest
2 голосов
/ 28 августа 2009

Я пытаюсь использовать диалоговое окно интерфейса для создания модального диалога.

Диалог работает правильно, и все хорошо. Я закрываю диалог, используя «X» в углу. Я попытался использовать dialog('destroy').remove();, но, конечно, я не могу открыть его снова.

Мне кажется, я просто не понимаю, как заново инициализировать диалог и в нем нет старых значений.

    function CreateWorkBoard()
{
    var jsmarty = WMCreateSmartyObject();
    var param =
    {
        MY_NAME1:GLOBAL_MY_NAME1,
        MY_NAME2:GLOBAL_MY_NAME2,
        LANG_NAME:LANGUAGE_NAME,
        BOARD_DIALOG_TITLE:WM_LANG_BOARD_DIALOG_BOARD_DIALOG_TITLE,
        BOARD_TITLE: WM_LANG_BOARD_DIALOG_BOARD_TITLE,
        COMMENT_TITLE:WM_LANG_BOARD_DIALOG_COMMENT_TITLE,
        MEMBERS_TITLE:WM_LANG_BOARD_DIALOG_MEMBERS_TITLE,
        CANCEL_BUTTON:WM_LANG_BOARD_DIALOG_CANCEL_BUTTON,
        REGISTER_BUTTON:WM_LANG_BOARD_DIALOG_REGISTER_BUTTON

    };
    jsmarty.assign('LANG', param);
    var divValue = WMSmartyFetch(jsmarty, 'createBoardDialog.tpl');
    document.getElementById('CREATE_DIALOG').innerHTML = divValue;
    jsmarty.clear_all_assign();
    //alert(document.getElementById('CREATE_DIALOG').innerHTML);
    //alert(divValue);

    //$.ui.dialog.defaults.bgiframe = true;
    //alert(document.getElementById('New_WorkBoard_Dialog').innerHTML);
    $('#New_WorkBoard_Dialog').dialog({

        autoOpen: false,
        height: 530,
        width:300,
        modal: true,
        resizable:false,
        buttons: {
            Cancel: function() {
                $(this).dialog('close');
                 //$('#New_WorkBoard_Dialog').dialog('destroy');
            },
            'Register board': function() {
                var board_name=document.getElementById("name");
                var comments=document.getElementById("comment");
                Createboard(board_name,comments);
                $(this).dialog('close');

            }

        },
        close: function() {

        }
    });
    $('#New_WorkBoard_Dialog').dialog('open');

}

Ответы [ 3 ]

2 голосов
/ 23 ноября 2009

Как сказал Ра Йелл, лучше очистить его перед его закрытием, так что вам не придется беспокоиться об этом, когда вы снова откроете диалоговое окно.

$('input').val('');

Предыдущая инструкция у меня сработала.

1 голос
/ 01 августа 2011

Вы можете очистить все элементы ввода динамически.

$("#New_WorkBoard_Dialog input[type='text']").each(function(index, element) {
    $(element).val("");
)};

Если вы предпочитаете, вы можете очистить его при закрытии события диалога:

$('#New_WorkBoard_Dialog').dialog({
autoOpen: false,
height: 530,
width:300,
modal: true,
resizable:false,
buttons: {
    Cancel: function() {
        $(this).dialog('close');
         //$('#New_WorkBoard_Dialog').dialog('destroy');
    },
    'Register board': function() {
        var board_name=document.getElementById("name");
        var comments=document.getElementById("comment");
        Createboard(board_name,comments);
        $(this).dialog('close');

    }

},
close: function() {
    $("#New_WorkBoard_Dialog input[type='text']").each(function(index, element) {
        $(element).val("");
    )};
}
});
0 голосов
/ 28 августа 2009

Если вы хотите открыть его снова, просто используйте этот код еще раз:

$('#New_WorkBoard_Dialog').dialog('open');

Не беспокойтесь о разрушении и повторной инициализации диалога. В этом нет необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...