jQuery插件序列化一个表单,还要恢复/填充表单?

前端之家收集整理的这篇文章主要介绍了jQuery插件序列化一个表单,还要恢复/填充表单?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一个jQuery插件可以序列化一个表单,然后以后还原/填充给定的序列化值的形式?我知道窗体插件可以序列化为一个查询字符串,但我还没有找到任何将恢复形式从查询字符串。

我想做的是序列化表单值,存储为cookie,每当表单更改,然后恢复表单从cookie(如果存在),当页面第一次加载。

我已经找到了这个拼图的部分(形式插件,cookie插件,各种autosave插件,不恢复),但在我从各个部分拼凑的东西,我想确保没有一个漂亮的罐头解决方案等待为我在那里。

谢谢!

吉姆

解决方法

这里有一些我滚动基于他人的工作,特别是 serializeAnything
/* jQuery.values: get or set all of the name/value pairs from child input controls   
 * @argument data {array} If included,will populate all child controls.
 * @returns element if data was provided,or array of values if not
*/

$.fn.values = function(data) {
    var els = $(this).find(':input').get();

    if(typeof data != 'object') {
        // return all data
        data = {};

        $.each(els,function() {
            if (this.name && !this.disabled && (this.checked
                            || /select|textarea/i.test(this.nodeName)
                            || /text|hidden|password/i.test(this.type))) {
                data[this.name] = $(this).val();
            }
        });
        return data;
    } else {
        $.each(els,function() {
            if (this.name && data[this.name]) {
                if(this.type == 'checkBox' || this.type == 'radio') {
                    $(this).attr("checked",(data[this.name] == $(this).val()));
                } else {
                    $(this).val(data[this.name]);
                }
            }
        });
        return $(this);
    }
};

猜你在找的jQuery相关文章