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包(切记哦)
  • 相关阅读:
    设计模式:访问者模式
    设计模式:模板模式
    三分法——求解凸性函数的极值问题——czyuan原创
    素数&&Miller_Rabbin
    【算法入门】深度优先搜索(DFS)
    快速幂取模
    hrbeu1280Turn the corner
    hdoj_3400Line belt
    【专题】三分法和牛顿迭代法总结
    zoj_3203Light Bulb
  • 原文地址:https://www.cnblogs.com/Thinkingcao/p/8183444.html
Copyright © 2011-2022 走看看