jQuery Ajax遍历表格,填充数据,将表格中的数据一条一条拼成Jason数组
$.ajax({
url: baseURL + "InvoiceSale/OnQuotaInvoiceSale", //点击核销单号时,点击核销时,交互的页面
type: "POST",
data: JSON.stringify(createTable.resultData()), //JSON传递整个表格数据,得到字符串数组
dataType: "json",
success: function (result) {
Success(result)
},
error: function () {
alert("error");
}
});
//在初始加载时,遍历填充表格
loadData: function (data) {
var $table = $("#tableAgainDetail"),
$trFirst = $("#trDetailFirst");
$table.find("tr").each(function (i) {
if (i > 2) {
$(this).remove();
}
});
if (!!data) {
$.each(data, function (i, info) {
$tr = $trFirst.clone().attr("id", "").show();
$tr.children("td").eq(0).text("00");
//$tr.val(info.LaneID);
//$tr.children("td").eq(1).text(info.SquadNo);
$table.append($tr);
});
}
$("input[name=spaninvoiceCode]:visible").live("blur", function () {
var flags = false, $this = $(this);
if ($(this).val().length != 12) {
$(this).css("background", "#FDB7BF");
$(".tooltip_main").text("发票代码应为12位");
$("#tips").show().css("left", $this.parent()[0].offsetLeft).css("top", $this.parent()[0].offsetTop + 121);
flags = true;
}
if (flags) {
return false;
}
$(this).css("background", "#FFFFFF");
$("#tips").hide();
});
$("input[name='spanstartNo']:visible,input[name='spanendNoT']:visible").live("blur", function () {
var flags = false, $this = $(this);
if ($(this).val().length < 6 || $(this).val().length > 8) {
$(this).css("background", "#FDB7BF");
$(".tooltip_main").text("起\止号长度应为6-8位");
$("#tips").show().css("left", $this.parent()[0].offsetLeft).css("top", $this.parent()[0].offsetTop + 121);
flags = true;
}
if (flags) {
return false;
}
$(this).css("background", "#FFFFFF");
$("#tips").hide();
});
$("input[name='spanstartNo'],input[name='spanendNoT'],.can,.cuo").live('keyup', function () {
if (createTable.isNum($(this))) {
createTable.calTrCount($(this).parent().parent());
} else {
$("#spanMsg").text("请输入数字");
}
$("#spanMsg").text("");
});
},
//循环数据,得到JSON数组,拼成Jason数组,传个后台
resultData: function () {
var $tr = $("#tableAgainDetail").find("tr:visible"),
result = [],
trData = {},
//OprID = [], DefinedOn = [], laneID = [],
spaninvoiceCode = [], spanstartNo = [], spanendNoT = [],
amount = [], can = [], cuo = [], actual = [];
/*获取数据后,循环向表格中添加数据*/
$.each($tr, function (i, info) {
var $this = $(this), $tds = $this.children("td");
if ($tds.length == 0) {
return true;
}
/*如果TD的长度==8,获取传来的收费员编号,以及日期时间*/
if ($tds.length == 8) {
trData = {},laneID=[], spaninvoiceCode = [], spanstartNo = [], spanendNoT = [],
amount = [], can = [], cuo = [], actual = [];
trData.oprID = $("#txtOprID").val(); //收费员编号
trData.definedOn = $("#txtDefinedOn").val(); //日期时间
trData.laneID = "0";
}
//money.push($this.find("select[name='money']").val()); //选择票面金额
spaninvoiceCode.push($this.find("input[name='spaninvoiceCode']").val()); //发票代码
spanstartNo.push($this.find("input[name='spanstartNo']").val()); //起号
spanendNoT.push($this.find("input[name='spanendNoT']").val()); //止号
amount.push($this.find(".amount").text()); //张数
can.push($this.find("input[class='can']").val()); //残票
cuo.push($this.find("input[class='cuo']").val()); //错票
actual.push($this.find(".actual").text()); //实际发出
//trData.money = money.join();
trData.spaninvoiceCode = spaninvoiceCode.join();
trData.spanstartNo = spanstartNo.join();
trData.spanendNoT = spanendNoT.join();
trData.amount = amount.join();
trData.can = can.join();
trData.cuo = cuo.join();
trData.actual = actual.join();
result.push(trData);
});
return result;
},
jQuery Ajax遍历表格,填充数据,将表格中的数据一条一条拼成Jason数组的更多相关文章
- Jquery.ajax 详细解释 通过Http请求加载远程数据
首先请看一个Jquery.ajax的例子 $.ajax({ type: "GET", url: "/api/SearchApi/GetResults", dat ...
- ASP.NET MVC中如何以ajax的方式在View和Action中传递数据
前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建 MVC&AJax&JSon示例,这一篇单独讲解如何在View和A ...
- Struts2(三)——数据在框架中的数据流转问题
一款软件,无在乎对数据的处理.而B/S软件,一般都是用户通过浏览器客户端输入数据,传递到服务器,服务器进行相关处理,然后返回到指定的页面,进行相关显示,完成相关功能.这篇博客重点简述一下Struts2 ...
- windows下使用ofstream默认输出内存数据到文件中时,会自动将0A换成0A0D
0A即\n,而0D是\r,windows下换行是\n\r,因此会自动转换. 但是,这样会带来很大的问题,导致由内存写入文件中的数据和内存中不一样,还不知道是什么原因造成的. 特别是将从网络接收来的pn ...
- 使用 jQuery Ajax 在页面滚动时从服务器加载数据
简介 文本将演示怎么在滚动滚动条时从服务器端下载数据.用AJAX技术从服务器端加载数据有助于改善任何web应用的性能表现,因为在打开页面时,只有一屏的数据从服务器端加载了,需要更多的数据时,可以随着用 ...
- map在遍历数据的过程中删除数据不出错
// Iterator<Map.Entry<String,Long>> entries = Map.entrySet().iterator(); ...
- 通过遍历类向Aspose.cell模板中插入数据
/// <summary> /// 遍历类所有字段 /// </summary> /// <param name="designer">aspo ...
- .Net core Api后台获取数据,异步方法中,数据需采用Linq分页
.net core api using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressi ...
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
随机推荐
- CLR via C#(01)-.NET平台下代码是怎么跑起来的
1. 源代码编译为托管模块 程序在.NET框架下运行,首先要将源代码编译为托管模块.CLR是一个可以被多种语言所使用的运行时,它的很多特性可以用于所有面向它的开发语言.微软开发了多种语言的编译器,编译 ...
- 公众号开发——测试工具【ngrok】
工具下载:ngrok 目录清单: ngrok.exe ngrok.cfg run.bat 点击bat启动. 可修改域名,右键bat文件修改. 成功效果图: 注:80端口被占用了怎么办? —— ...
- Delphi操作XML简介
参考:http://www.delphifans.com/InfoView/Article_850.html Delphi 7支持对XML文档的操作,可以通过 TXMLDocument类来实现对XML ...
- EChart使用简单介绍
Echart是百度研发团队开发的一款报表视图JS插件,功能十分强大,使用内容做简单记录:(EChart下载地址 http://echarts.baidu.com/download.html) 1.ti ...
- 攻城狮在路上(叁)Linux(十五)--- 文件与目录的默认权限与隐藏权限
一.文件默认权限:umask <==需要被减去的权限. 1.umask指的是当前用户在新建文件或者目录时的默认权限,如0022; 2.默认情况下,用户创建文件的最大权限为666; 创建目录的最大 ...
- jQuery easyUI datagrid 增加求和统计行 分类: JavaScript 2015-01-14 17:46 2178人阅读 评论(0) 收藏
在datagrid的onLoadSuccess事件增加代码处理. <style type="text/css"> .subtotal { font-weight: bo ...
- thinkphp 两表、三表联合查询
//两表联合查询 $Model = M('T1');$Model->join('left join t2 on t1.cid = t2.id')->select();// $list = ...
- 源码方式安装mysql5.5
mysql5.5开始,源码配置编译工具configure变成了cmake,所以先要去把cmake装上.并安装make,bison,cmake,gcc-c++,ncurses的包 去http://www ...
- excel、csv、txt文件数据读取
/// <summary> /// 读取Excel表每一行第一列的字符串集合 /// </summary> /// <param name="filePath& ...
- TCP状态转换图详解
以下对几个关键的中间状态进行说明: 三次握手: LISTEN:表示服务器的某个SOCKET处于监听状态,可以进行连接了. SYN_SENT:表示客户端的某个SOCKET与服务器进行connect时,首 ...