我的链接名称为“login”。
单击“登录”将打开jquery对话框。
Dialog有两个链接。如果单击链接,则显示与链接相关的内容。
现在我来解决我的问题。如果再次单击“登录”链接,则仅显示已更改的内容。但我只想要初始内容。
这是我的一部分代码。
$( "#login-form" ).dialog({
autoOpen: false,
height: 210,
width: 360,
modal: true,
show: "scale",
hide: "scale",
buttons: {
"Login": function() {
$("#login-frm").submit()
},
Cancel: function() {
$(this).dialog( "close" );
}
}
});
$( "#login" ).click(function(event) {
event.preventDefault();
$( "#login-form" ).dialog( "open" );
})
我该怎么做?
答案 0 :(得分:1)
在点击事件中,您可以再次加载默认内容。或者,您可以在隐藏的div中保留login-form
的默认内容的副本,并在对话框打开之前将其替换。
$( "#login-form" ).dialog({
autoOpen: false,
height: 210,
width: 360,
modal: true,
show: "scale",
hide: "scale",
buttons: {
"Login": function() {
$("#login-frm").submit()
},
Cancel: function() {
$(this).dialog( "close" );
}
}
});
$( "#login" ).click(function(event) {
event.preventDefault();
$( "#login-form" ).html('give the default copy of the dialog here');
$( "#login-form" ).dialog( "open" );
})
答案 1 :(得分:0)
将类添加到需要清除的登录表单控件中,例如"loginControls"
。然后,将$( "#login" ).click()
函数更改为:
$( "#login" ).click(function(event) {
event.preventDefault();
$( ".loginControls" ).each(function (i) {
this.val('');
});
$( "#login-form" ).dialog( "open" );
});
请注意,如果您的登录表单不仅包含简单的文本框控件,那么您可以执行单独的类,例如"loginCheckBoxes"
,然后使用$(this).removeAttr('checked');
进行迭代。
这使您可以灵活地使用各种类型的控件,而无需在事件处理代码中写出整个表单HTML。