我正在尝试使用UI对话框来创建模态对话框。
对话框工作正常,一切顺利。我使用角落里的“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');
}
答案 0 :(得分:2)
正如Ra Yell所说,最好在关闭它之前清理它,这样你再次打开对话框时就不用担心它了。
$('input').val('');
之前的指示对我有用。
答案 1 :(得分:1)
您可以动态清除所有输入元素。
$("#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("");
)};
}
});
答案 2 :(得分:-1)
如果您想再次重新打开它,请再次使用此代码:
$('#New_WorkBoard_Dialog').dialog('open');
不要打扰破坏和重新初始化对话框。没有必要这样做。