form表单序列化为Jquery对象
<form id="DailyFinancial" > @*class="form-inline"*@
<div class="form-group">
<label for="FinancialType">记账类型</label>
<select class="form-control" id="FinancialType" name="FinancialType">
<option value="1">支出</option>
<option value="2">收入</option>
</select>
</div>
<div class="form-group">
<label for="FinancialType">收支类型</label> <select class="form-control" id="Type" name="Type">
<option value="10">吃饭</option>
</select>
<p class="help-block" style="color:red">收支类型->花钱和赚钱方式</p>
</div>
<div class="form-group">
<label for="Money">金额</label>
<input type="text" class="form-control" id="Money" name="Money" placeholder="人民币">
</div>
<div class="form-group">
<label for="Detail">收支明细</label>
<textarea class="form-control" rows="2" id="Detail" name="Detail"></textarea>
</div>
<div class="form-group">
<label for="PayType">支出类型</label> <select class="form-control" id="PayType" name="PayType">
<option value="0">信用卡</option>
</select>
</div>
<div class="form-group">
<label for="Remark">备注</label>
<textarea class="form-control" rows="2" id="Remark" name="Remark"></textarea>
</div>
<div class="form-group">
<label for="Remark2">备注</label>
<textarea class="form-control" rows="2" id="Remark2" name="Remark"></textarea>
</div>
</form>
var o = {};
var arr = $("#DailyFinancial").serializeArray();// 直接序列化成对象数组,每个对象由name和value组成
$.each(arr,function (i,v) {
if (o[this.name]) {
if (!o[this.name].push) { //判断o[this.name]的值是否为数组,true表示数组,false表示不是数组
o[this.name] = [o[this.name]]; //o[this.name]的值设置为数组
}
o[this.name].push(this.value || ''); //在数组后追加新的元素
}else {
o[this.name] = this.value || '';
}
});
console.log(o);
用 $("#DailyFinancial").serializeArray()把form表单的值序列化成对象数组;
用$.each函数遍历数组,遍历每个对象(如果存在重复的name,则他的值用数组来接受)组装成jQuery对象
浏览器打印结果如下:Object {FinancialType: "1", Type: "10", Money: "", Detail: "", PayType: "0"…}
注:!o[this.name].push ->当属性的值不是数组时,结果显示为undifined,如果是数组时,返回的结果是:function push() { [native code] },所以这个判断是为了避免form表单标签有重复name时,他们的值都可以获取的到。
form表单序列化为Jquery对象的更多相关文章
- jQuery form表单序列化为JSON对象!
/* 来源于博客园http://www.cnblogs.com/nixil/archive/2010/12/08/1900745.html */ function paramString2obj(se ...
- jQuery表单验证以及将表单序列化为json对象小练习
jquery表单验证(非实时验证),同时,将表单序列化为json对象提交表单. <!DOCTYPE html> <html lang="en"> <h ...
- 023-将表单序列化为json对象
使用jQuery将表单序列化为json对象,其中serializeJson方法的名字任意,serializeArray()这个jQuery提供的方法.this指的就是谁调用了这个方法. $.fn.se ...
- form表单序列化为json格式数据
在web开发过程中,经常遇到将form序列化不能格式的字符串提交到后台,下面就介绍怎样将form表单序列化为json字符串. 首先,是扩展的jquery序列化插件,依赖jquery.经测试,这段代码可 ...
- 将表单序列化为JSON对象
将表单序列化为JSON对象的工具方法: $(function() { //工具方法,可以将指定的表单中的输入项目序列化为JSON数据 $.fn.serializeJson = function() { ...
- Jquery 将表单序列化为Json对象
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用 ...
- 拓展jQuery的serialize(),将form表单转化为json对象
jQuery 的 serialize() 方法经常会报 Uncaught TypeError: JSON.serializeObject is not a function 的错误, 原装的方法真的一 ...
- js 表单序列化为json对象
$.fn.serializeJson = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () ...
- From 表单序列化为json对象(代码片段)
$.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); $(array).each(f ...
随机推荐
- SIM900A设备在保加利亚无法正常使用GPRS问题
1. SIM900A设备在保加利亚GPRS功能无法正常使用 我们一款手持设备采用SIM900A模块,在发货之前测试正常,但到了保加利亚,客户发现无法正常上网,我们技术支持反馈的邮件反馈的现象 ...
- Java进阶(二十八)SimpleDateFormat格式化日期问题
SimpleDateFormat格式化日期问题 前言 发现一个问题,经过以下语句处理后,发现12:27:45转换后成为了00:27:45. DateFormat df = null; if(DATE1 ...
- postman使用—chrome版
如果大家不知道怎么安装,请下载个FQ软件(蓝灯,shadowsocks)都是可以的,安装完成之后,你可以在chrome看到posman的插件程序. 使用说明: 安装完成之后,使用chrome://ap ...
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)
好了,现在在iOS模拟器中编译运行App,一切貌似都很好. 且慢,我们还没有到真机上调试呢?按说在编写App'时,无论如何应该尽快尽早在真机上调试.否则可能会碰到意想不到的问题,这次就是如此. 在真机 ...
- 十大常见Java String问题
翻译人员: 铁锚 翻译时间: 2013年11月7日 原文链接: Top 10 questions of Java Strings 本文介绍Java中关于String最常见的10个问题: 1. 字符串比 ...
- H5学习之旅-xhtml语法(15)
xhtml定义了一套语法的语法规范 简要介绍一下 1.必须正确的嵌套 2.标签必须结束 3.元素必须小写 4.文档必须有一个根元素 html属性规范 1.html属性必须小写 2.html属性值必须双 ...
- Android 自定义View -- 简约的折线图
转载请注明出处:http://write.blog.csdn.net/postedit/50434634 接上篇 Android 圆形百分比(进度条) 自定义view 昨天分手了,不开心,来练练自定义 ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
- R.java文件介绍
HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R { public static final ...
- Android使用Canvas实现跑马灯
网上的很多的教程都是通过更改TextView的属性进行跑马灯的设计.这样做有很多的缺点: 1.如果TextView没有获取焦点,那么跑马灯的效果无法实现. 2.如果文本长度小于TextView的宽度, ...