我有一个包含4个文本框的弹出窗体,当页面加载时,所有文本框都有默认值。
以下是该方案......用户已填写表单及其详细信息,但决定不提交表单并关闭弹出窗口。当用户关闭弹出窗口时,我希望文本框的值恢复为默认值。
到目前为止,这是我的代码。
$(".close").click( function() {
$(".popup").find("input").val("Default value of textbox");
});
我希望它不是插入“文本框的默认值”作为值,而是希望它是实际的默认值。
答案 0 :(得分:4)
你可以将默认值放在元素本身的'数据属性'中...我会创建一个小提琴来显示这个...... As seen in this jsFiddle
我还应该注意,您可以将数据属性放在服务器的元素上......我只是展示如何从客户端完成所有操作......
答案 1 :(得分:1)
// First store all the default values
var def_vals = [];
jQuery('#popup input[type="text"]').each(
function () {
def_vals[jQuery(this).attr('name')] = jQuery(this).val();
}
);
alert(def_vals['test']);
// Restore defaults on close
jQuery('#popup .closeButton').click( function () {
jQuery('#popup input[type=text]').each(
function() {
jQuery(this).val(def_vals[jQuery(this).attr('name')]);
}
);
});
答案 2 :(得分:0)
通过关闭
// add to the place that opens the popup
$(".popup input").one(function(){
var value = $(this).val();
var that = this;
$(".close").one(function(){
$(that).val(value);
});
});