Jquery将文本框恢复为原始值

时间:2011-11-04 12:54:03

标签: javascript jquery textbox default-value

我有一个包含4个文本框的弹出窗体,当页面加载时,所有文本框都有默认值。

以下是该方案......用户已填写表单及其详细信息,但决定不提交表单并关闭弹出窗口。当用户关闭弹出窗口时,我希望文本框的值恢复为默认值。

到目前为止,这是我的代码。

$(".close").click( function() {
    $(".popup").find("input").val("Default value of textbox");
});

我希望它不是插入“文本框的默认值”作为值,而是希望它是实际的默认值。

3 个答案:

答案 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);
   });
});