jquery基元扩展序列化form

(function (window, $, undefined) {

 var _Core = function () {
 };
    window.$Core = new _Core();

 /******************************************util****************************** */
    var _util = function () {
    /*
      * 序列化Form 返回数组对象
      * @param {any} domid domid
      */
        this.QueryFormSerializeArray = function (domid) {
            var form = null;
            if (typeof (domid) === "string")
                from = $('#' + domid);
            else
                from = domid;
            var p = from.serializeArray();
            var s = $.map(p, function (n) {
                var t = $("#" + n.name);
                if (t.size() == 0)
                    t = from.find("*[textboxname='" + n.name + "']");
                var query = {};
                var s = $.trim(t.attr('data-query'));
                if (s) {
                    if (s.substring(0, 1) != '{') {
                        s = '{' + s + '}';
                    }
                    query = (new Function('return ' + s))();
                    if (query.filed) {
                        query.name = query.filed;
                        //query.remove("filed");
                    }
                }
                //console.log(query);
                return $.extend({}, n, query);
            });

            return s;
        };
        /**
         * 序列化Form 返回字符串
         * @param  {string} domid
         * @return {any} 序列化后的
         */
        this.QueryFormSerializeString = function (domid) {
            var s = this.QueryFormSerializeArray(domid);
            var strpars = JSON.stringify(s);
            return strpars;
        };
        /**
         * 获取当前页面的资源编号
         * */
        this.getResId = function () {
            return $.util.getRequest()["resId"];
        }
        /**
         * 获取本资源所有可用的按钮权限
         * */
        this.getResActions = function () {
            var resid = this.getResId();
            if (resid) {
                return window.top.findChildrenList(resid);
            } else
                return [];
        }

        this.valueToName = function (value, code) {
            var userIds = value.split(",");
            var name = '';
            var users = $Core.DicCache.get(code).originalData;
            for (var i = 0; i < userIds.length; i++) {
                for (var j = 0; j < users.length; j++) {
                    if (userIds[i] == users[j].id) {
                        if (i == 0) {
                            name += users[j].text;
                        } else {
                            name += "," + users[j].text;
                        }
                        break;
                    }
                }
            }
            return name;
        }
    };
    $Core.util = new _util();

})(window, jQuery);

获取查询参数

<form id="search_form" method="post">
var v = $Core.util.QueryFormSerializeString('search_form');
paras.querystr = v;
 </form>

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/83111050