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 ...
随机推荐
- C算法分解质因数与分解因子
) ) printf("%d ",i); } }
- foreach 内嵌的使用
foreach内部处理数据流的每条记录,进行关系操作,最后用generate返回数据给外部.但注意关系操作符不能作用于表达式,要将表达式提取成关系. foreach内部只支持distinct, fil ...
- ad network 和 ad exchange 的对比
著名的SSP技术提供商PubMatic联合四家知名的DSP公司跟踪实时竞价系统的效果,给出的结果是惊人的749%广告效果提升和64%的媒体收入的增加.2007年发生的一系列在广告交易领域的创投,以及一 ...
- java的map
Map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射. 这里有详细的论述http://www.oracle.com/technetwork/c ...
- Chipmunk僵尸物理对象的出现和解决(二)
如第一篇文章中图片所示,该游戏是一个弹球游戏. 玩法很简单,屏幕底部有一个反弹棒,用来确保小球不掉出屏幕同时反弹小球撞击屏幕上方的砖块. 玩家可以触摸屏幕来左右移动反弹棒. 等等!还不是这么简单,当小 ...
- ORA-04091错误原因与解决方法
最近工作中写了一触发器报错:ORA-04091:table XX is mutating, trigger/function may not see it. 下面通过官方文档及网友提供资料分析一下错 ...
- 1、libgdx简介
Libgdx 是一个跨平台和可视化的的开发框架.它当前支持Windows,Linux,Mac OS X,Android,IOS和HTML5作为目标平台. Libgdx允许你一次编写代码不经修改部署到多 ...
- Mahout朴素贝叶斯文本分类
Mahout朴素贝叶斯文本分类算法 Mahout贝叶斯分类器按照官方的说法,是按照<Tackling the PoorAssumptions of Naive Bayes Text Classi ...
- EasyUI中tree,Datagrid,pagenation的使用EasyUI中Datagrid和pagenation进行关联时,再次点击pagenation时让表格数据显示的问题
// 获取选中一行的情况,下面的一个参数可以代表一个DataGridfunction getSelected(dialogEle,dataFileTextEle) { // 获取选中一行的情况. va ...
- 【面试笔试算法】Problem 9: 腾讯2016年研发实习笔试题:最长回文子串
(一)题目 问题:求给定字符串s的回文(palindrome)子串中,长度最大的回文子串的长度. 回文(palindrome)是指从左往右读和从右往左读字符串,看到的字符串都是一样的.比如" ...