js序列化封装成一个对象,以键值对的方式

类似:Object   {ni: "1", wo: "2", ta: "3", huge: "4", jindong: "5"…}

jquery的serialize()方法,得到等值的方式

类似:"ni=1&wo=2&ta=3&huge=4&jindong=5&liukaiwei=6"

jquery的serializeArray()方法,得到一个对象里面有N个对象,每一个键值对都是以对象形式存在

类似:[Object, Object, Object, Object, Object, Object]  每个对象是以键值对存在{ "name" : "ni"  , "value" : "1"   }

html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
html,body{font-size: 14px;color: #555555;font-family: "微软雅黑";}
*{padding: 0px;margin: 0px;}
ul,li{list-style: none;}
a{text-decoration: none;}
form{margin: 50px auto 0px;width: 500px;}
form ul li{margin: 10px 0px;}
input{margin-right: 10px;}
</style>
</head>
<body>
  <form id="form">
    <ul>
      <li><input type="text" name="ni"/><label>你</label></li>
      <li><input type="text" name="wo"/><label>我</label></li>
      <li><input type="text" name="ta"/><label>他</label></li>
      <li><input type="text" name="huge"/><label>胡歌</label></li>
      <li><input type="text" name="jindong"/><label>靳东</label></li>
      <li><input type="text" name="liukaiwei"/><label>刘恺威</label></li>
    </ul>
    <button type="button" id="submit">提交</button>
  </form>
</body>

</html>

JS

<script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript">
// 表单序列化插件
(function($){
  $.fn.serializeObject=function(){
    var o={};
    var a=this.serializeArray();
    $.each(a, function() {
      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;
  };
})(jQuery);
//form序列化
$("#submit").click(function(){
var jsSerialize=$("#form").serializeObject();                             //js封装
var jquerySerialize=$("#form").serialize();                                //jquery的serialize()方法
var jquerySerializeArray=$("#form").serializeArray();              //jquery的serializeArray()方法
});

</script>

附   可以向这个对象中添加新的键值对,有多种方法添加

jsSerialize.tao="7";
var name2="Dong";
jsSerialize[name2]="8";

时间: 2024-08-06 00:26:33

js序列化封装成一个对象,以键值对的方式的相关文章

js获取键盘按下的键值event.keyCode,event.charCode,event.which的兼容性

js获取键盘按下的键值有event.keyCode,event.charCode和event.which 其中: 谷歌浏览器对event.keyCode,event.charCode和event.which都兼容. 火狐浏览器对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效. event.which也是部分键值有效,如字母键,数字键,enter键,Backspace键等有效,

如何将Js代码封装成Jquery插件

很多相同的Jquery代码会在很多页面使用,每次都复制粘贴太麻烦了,不如封装成一个Jquery插件就方便了,至于影响网页的速度不,我就没有测试了哈. 代码如下 这是一个自定闪烁打印文字的Jquery特效 HTML代码如下: <div id="code"> <p>/**</p> <p>*2014-2-12</p> <p>*代码自动闪烁输入</p> <p>*/</p> 2014-2-

JS判断两个对象是否键值对应相等

//isEqual:判断两个对象是否键值对应相等 function isEqual(a,b){ //如果a和b本来就全等 if(a===b){ //判断是否为0和-0 return a !== 0 || 1/a ===1/b; } //判断是否为null和undefined if(a==null||b==null){ return a===b; } //接下来判断a和b的数据类型 var classNameA=toString.call(a), classNameB=toString.call(

将二维数组转换成一维,键值互换

1 $arr_Array = array_reduce($rankLevel,function(&$arr_Array,$val) { 2 $arr_Array[$val['level']] = $val['name']; 3 return $arr_Array; 4 }); 原文地址:https://www.cnblogs.com/ghjbk/p/9689802.html

使用javascript以键值对的方式读取查询字符串【QueryString】qvkb

消息摘要(Message Digest)数据库作为最关键的基础设施,渗透技术领域的方方面面.随着互联网应用的广泛普及,海量数据的存储及访问成为系统设计的一大痛点.随着各行各业对信息化管理的依赖日益加剧,企业对数据访问的连续性提出了更高的要求,面对纷至沓来的稳定性及高可用需求,数据库技术已然成为各领域信息化建设的关键一环.作为SDCC系列技术峰会的一部分,来自阿里巴巴.腾讯.微博.网易等多家企业的数据库专家及高校研究学者,将围绕Oracle.MySQL.PostgreSQL.Redis等热点数据库

js封装成插件

由于项目原因,工作一年多还没用js写过插件,项目太成熟,平时基本都是在使用已经封装好的功能插件.感觉自己好low......这两天想自己抽空写一个canvas画统计图与折现图的插件,所以就去网上学习了下如何封装.....虽然之前看了很多源码,但是感觉就算了解也是野路子..... 什么是封装呢? 我的理解就是 把一个功能单独做成一个组件,就像做饺子,以前做饺子必须自己先用面粉做饺子皮,再做饺子馅,然后再手工包饺子,但是现在人们发明了自动包饺子机器,虽然机器里面的每一步骤和你自己包饺子是一样的,但是

KVC - 键值编码

[基本概念] 1.键值编码是一个用于间接访问对象属性的机制,使用该机制不需要调用存取方法和变量实例就可访问对象属性. 2.键值编码方法在OC非正式协议(类目)NSKeyValueCoding中被声明,默认的实现方法由NSObject提供. 3.键值编码支持带有对象值的属性,同时也支持纯数值类型和结构.非对象参数和返回类型会被识别并自动封装/解封. [键值访问] 键值编码中的基本调用包括-valueForKey: 和 -setValue:forkey: 这两个方法,它们以字符串的形式向对象发送消息

[Swift]LeetCode677. 键值映射 | Map Sum Pairs

Implement a MapSum class with insert, and sum methods. For the method insert, you'll be given a pair of (string, integer). The string represents the key and the integer represents the value. If the key already existed, then the original key-value pai

LeetCode 677. Map Sum Pairs 键值映射(C++/Java)

题目: Implement a MapSum class with insert, and sum methods. For the method insert, you'll be given a pair of (string, integer). The string represents the key and the integer represents the value. If the key already existed, then the original key-value