前端代码:
这里使用input作为录入框拼接到单元格里面的,连个方法onchange和onkeyup看自己需要可以删掉。
var retHtml = "<input id=\"pquan" + row.rownums + "\" autocomplete=\"off\" data-bind=\"" + row.rerid + "\" data-value=\"" + value + "\" class=\"form-control\" value=\"" + value + "\" οnchange='onchange1(\"" + row.rownums + "\")' style=\"text-align:left;\" οnkeyup='onkeyup1(this)'/>";
var?objlist=“”;//数据集合,作为参数传到后台控制器
$('#gridTable tr').each(function (ii) {
? ? ? ? ? ? //列从1开始
? ? ? ? ? ? if (ii > 0) {
? ? ? ? ? ? ? ? var rowid = $("#pquan" + ii).attr("data-bind");//id,有一些特殊值用data-bind存储了
? ? ? ? ? ? ? ? var a1= $(this).find('td:eq(4) input').val();// 数量
? ? ? ? ? ? ? ? var a2= $(this).find('td:eq(5) input').val();// 单价
? ? ? ? ? ? ? ? objlist += "" + rowid + "," + a1+ "," + a2+ ";";
? ? ? ? ? ? }
? ? ? ? });
ys.ajax({
? ? ? ? ? ? url: '请求地址',
? ? ? ? ? ? type: "get",
? ? ? ? ? ? data: {
? ? ? ? ? ? ? ? objlist: objlist
? ? ? ? ? ? },
? ? ? ? ? ? success: function (obj) {
? ? ? ? ? ? ? ? ? ? ys.msgSuccess(obj.Message);
? ? ? ? ? ? }
? ? ? ? });
后台控制器代码:
?string str = Request.Query["objlist"];//这里说明一下是get提交方式,post请用Request.Form["objlist"];
? string[] strarr;
if (str.Length > 1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? strarr = str.Split(";");
? ? ? ? ? ? ? ? strarr = strarr.Distinct().Where(w => !string.IsNullOrEmpty(w)).ToArray();//过滤掉空行
? ? ? ? ? ? ? ? strarr = strarr.Distinct().Where(w => !w.Contains(",,,")).ToArray();//过滤掉其他没用行
? ? ? ? ? ? ? ? for (int i = 0; i < strarr.Length; i++)
? ? ? ? ? ? ? ? {
//获取到具体的值了,a1,a2
? ? ? ? ? ? ? ? ? ? string a1= strarr[i].Split(",")[0];
? ? ? ? ? ? ? ? ? ? string a2= strarr[i].Split(",")[1];
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }