天天看点

JS将表单序列化成 json

              最近项目用到JqGrid。在查询的时候需要把Form表单序列化添加到Jqrid的postData中。再次做个备份,也希望可以帮助遇到此问题的战友~~

/**将表单序列化成 json,并清除空值项**/
$.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if(this.value != -1 && this.value.length > 0){
            if (o[this.name]) {
                if (!o[this.name].push) {
                    o[this.name] = [ o[this.name] ];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        }

    });
    return o;
}
           

用法:

在JqGrid的配置中添加此配置

serializeGridData:function(postData){ //序列化参数
            return  $.extend($("#searchForm").serializeObject(),postData);
        }
           

继续阅读