zoukankan      html  css  js  c++  java
  • jquery.from帮助类

    /**
     * 将form里面的内容序列化成json
     * 相同的checkbox用分号拼接起来
     * @param {obj} 需要拼接在后面的json对象
     * @method serializeJson
     * */
    $.fn.serializeJson = function (otherString) {
        var serializeObj = {},
            array = this.serializeArray();
        $(array).each(function () {
            if (serializeObj[this.name]) {
                serializeObj[this.name] += ';' + this.value;
            } else {
                serializeObj[this.name] = this.value;
            }
        });
    
        if (otherString != undefined) {
            var otherArray = otherString.split(';');
            $(otherArray).each(function () {
                var otherSplitArray = this.split(':');
                serializeObj[otherSplitArray[0]] = otherSplitArray[1];
            });
        }
        return serializeObj;
    };
    /**
     * 将form里面的内容序列化成QueryString
     * @method serializeQuerystring
     * */
    $.fn.serializeQuerystring = function () {
        var str = this.serialize();
        return str;
    };
    /**
     * 将form里面的内容序列化成数组
     * @method serializeList
     * */
    $.fn.serializeList = function () {
        var t = $('form').serializeArray();
        return t;
    }
    /**
     * 将josn对象赋值给form
     * @param {jsonValue} 需要给form赋值的json对象
     * @method serializeJson
     * */
    $.fn.setForm = function (jsonValue) {
        var obj = this;
        $.each(jsonValue, function (name, ival) {
            var $oinput = obj.find("input[name=" + name + "]");
            if ($oinput.attr("type") == "checkbox") {
                if (ival !== null) {
                    var checkboxObj = $("[name=" + name + "]");
                    var checkArray = ival.split(";");
                    for (var i = 0; i < checkboxObj.length; i++) {
                        for (var j = 0; j < checkArray.length; j++) {
                            if (checkboxObj[i].value == checkArray[j]) {
                                checkboxObj[i].click();
                            }
                        }
                    }
                }
            }
            else if ($oinput.attr("type") == "radio") {
                $oinput.each(function () {
                    var radioObj = $("[name=" + name + "]");
                    for (var i = 0; i < radioObj.length; i++) {
                        if (radioObj[i].value == ival) {
                            radioObj[i].click();
                        }
                    }
                });
            }
            else if ($oinput.attr("type") == "textarea") {
                obj.find("[name=" + name + "]").html(ival);
            }
    
            else {
                obj.find("[name=" + name + "]").val(ival);
                obj.find("label[name=" + name + "]").text(ival);
            }
    
        })
    }
  • 相关阅读:
    react注意事项
    小程序的页面滚动
    calc
    写好的vue项目怎么打包成uniapp形式
    处理其他系统过来的token.
    解析token
    iframe接受不同域名的token
    tree懒加载的使用,
    js防抖节流
    vue2.0和vue3.0的区别
  • 原文地址:https://www.cnblogs.com/raorao1994/p/10183036.html
Copyright © 2011-2022 走看看