我有一个对话框,其中有2个文本框。对话框销毁后,我想重置文本框值。我怎样才能做到这一点?
如果我已在文本框中输入值并单击“取消”,则重新打开对话框将显示先前输入的数据。
function setDialogWindows($element) {
$('#change').dialog({
autoOpen: true,
width: 380,
buttons: {
"Cancel": function() {
$(this).dialog('destroy');
},
"Accept": function() {
}
}):
}
$('#link').click(function() {
setDialogWindows('#change');
});
<div id="change" title="Change password" >
<input type="hidden" id="User_Name" name="Name"/>
<input type="textbox" id="text1" />
<input type="textbox" id="text2" />
</div>
最佳答案
首先,类型textbox
不存在。改用text
或password
(用于屏蔽字符)。
使用此代码来清理输入:
"Accept": function() {
$("#text1").val('');
$("#text2").val('');
}
最后,我重写了代码:
HTML:
<a href="javascript:void(0);" id="link">Show me a dialog!</a>
<div id="change" title="Change password">
<input type="hidden" id="User_Name" name="Name"/>
<input type="text" id="text1"/>
<input type="text" id="text2"/>
</div>
JavaScript:
$('#link').click(function() {
setDialogWindows();
});
function setDialogWindows() {
$('#change').dialog({
autoOpen: true,
width: 380,
buttons: {
"Cancel": function() {
$(this).dialog('close');
},
"Accept": function() {
/* Place your handler here. */
$(this).dialog('close');
}
},
close: function() {
$("#text1").val('');
$("#text2").val('');
}
});
}
您可以将
$(this).dialog('destroy');
与"Cancel"
按钮一起使用,但不会更改您的input
字段,因为它们是独立于对话框声明的。因此,您应该手动清洁它们。