zoukankan      html  css  js  c++  java
  • jQuery使用serializeArray()方法取得表单数据并附加json数据

    转载自:http://blog.csdn.net/zheng963/article/details/49156395

    一、serialize()方法
    1、格式
    var data = $("form").serialize();
    2、功能
    将表单内容序列化成一个字符串。
    3、返回结果
    username=forrest&passwd=1234&gender=0&interest=swimming&interest=running&interest=readBook
    二、serializeArray()方法
    1、格式
    var jsonData = $("form").serializeArray();

    2、功能
    将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。
     
    3、返回结果:
    [{"name":"lihui", "age":"20"},{...}] 获取数据为 jsonData[0].name。


    jquery扩展函数:


    $.fn.serializeObject = function(para)    
    {    
    var serializeObj={}; // 目标对象 
    var tempObj={};//临时对象
        var array=this.serializeArray(); // 转换数组格式
        if(para!=null&&para!=undefined){
        $.each(para,function(name,value) {
        array.push({"name":name,"value":value});
        });
        }
        console.log(para);
        console.log(array);
        $(array).each(function(){ // 遍历数组的每个元素 {name : xx , value : xxx} 
            if(serializeObj[this.name]){ // 判断对象中是否已经存在 name,如果存在name 
                  if($.isArray(serializeObj[this.name])){ 
                     serializeObj[this.name].push(this.value); // 追加一个值 hobby : ['音乐','体育'] 
                  }else{ 
                          // 将元素变为 数组 ,hobby : ['音乐','体育'] 
                     serializeObj[this.name]=[serializeObj[this.name],this.value]; 
                  } 
            }else{ 
                serializeObj[this.name]=this.value; // 如果元素name不存在,添加一个属性 name:value 
            } 
        });     
       return serializeObj;    
    };


    附:
    字符串转对象(strJSON代表json字符串)
      var obj = eval(strJSON);
      var obj = strJSON.parseJSON();
      var obj = JSON.parse(strJSON);
    json对象转字符串(obj代表json对象)
      var str = obj.toJSONString();
      var str = JSON.stringify(obj)
    运用时候需要除了eval()以外需要json.js包(切记哦)
  • 相关阅读:
    docker 容器使用 systemctl 命令报错
    lxml 这个包和openpyxl 起冲突
    解决GPG error: The following signatures couldn't be verified because the public key is not available
    pyinstaller bug
    PyCharm使用技巧及常用快捷键
    python 软件目录规范
    Wpf canvas 绘图 像素对齐
    wpf ListView 隔行 (各行) 显示 不同 背景 颜色
    C# wpf 获取 数字 类型 所占字节数
    Mybatis-Plus QueryWrapper +sql自定义查询
  • 原文地址:https://www.cnblogs.com/Thinkingcao/p/8183444.html
Copyright © 2011-2022 走看看