参考:https://www.cnblogs.com/shj-com/p/7878727.html

下载

下载该插件的地址是:http://www.bootcdn.cn/jquery.serializeJSON/

使用

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.serializejson.js"></script>

-html

<head>

  <script type="text/javascript" src="../common/jquery-easyui-1.5.3/jquery.serializejson.min.js"></script>

</head>

<div id="distAwardDetail" class="easyui-dialog" title="编辑分红比例"

style="width: 55%; height: 300px;"

data-options="closed:true,modal:true,closable:false">

  <div id="generalInfo" style="position: relative; margin-top: 20px;">

<div style="width: 140px; height: 30px; margin-left: 23px; text-align: left;">

<a href="#" class="easyui-linkbutton" iconCls='icon-undo'
onclick="javascript:backView()">返&nbsp;&nbsp;回</a> <a href="#"
class="easyui-linkbutton" iconCls="icon-ok"
onclick="javascript:savedDistAward();">确&nbsp;&nbsp;定</a>

</div>
<form method="post" id="distAwardform" traditional=true>
  <table id="distTable" style="margin-left: 20px;">

  </table>
<a href="#" class="easyui-linkbutton" iconCls="icon-add"
style="margin-left: 23px" onclick="javascript:addRow();">新&nbsp;&nbsp;增</a>
</form>

</div>

</div>

-JS

//回显

function editDistAward(){

if($("#distTable tr").length==0){

  let rows=$("#distAwardDg").datagrid("getRows");//拿到列表数据

  for(let i=0;i<rows.length;i++){

let $tr = $('<tr>'+
'<td>&nbsp;业绩起点(¥)(含):</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][achieStart]"'+'value="'+rows[i].achieStart+'"'+
'id="achieStart" style="width: 200px;"'+
'data-options="onChange:updateRow,required:true, missingMessage:\'请输入业绩起点\',validType:\'length[1,11]\',min:0,max:10000000,precision:2" /></td>'+
'<td>业绩节点(¥):</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][achieEnd]"'+'value="'+rows[i].achieEnd+'"'+
'id="achieEnd" style="width: 200px;"'+
'data-options="onChange:updateRow,required:true, missingMessage:\'请输入业绩节点\',validType:\'length[1,11]\',min:0,max:10000000,precision:2" /></td>'+
'<td>分红比例:</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][ratio]"'+'value="'+rows[i].ratio+'"'+
'id="ratio" style="width: 100px;"'+
'data-options="onChange:updateRow,required:true, missingMessage:\'请输入分红比例\',validType:\'length[1,4]\',min:0,max:100,precision:1" />%</td>'+
'<td><a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:deleteRow(this);">删除</a></td>'+
'</tr>');
let $table = $("#distTable");
$table.append($tr);
$.parser.parse($table);//重新渲染,否则easyUI样式失效
}
}
$("#distAwardDetail").dialog("open");
}

//返回时清空
function backView(){
if(backFlag==1){
$.messager.confirm("操作提示", "编辑的数据将不会保存,确定返回吗?", function (data) {
if(data) {
$("#distTable").empty();
$('#distAwardDetail').dialog('close');
backFlag=0;
}else{
return;
}
});
}else{
$("#distTable").empty();
$('#distAwardDetail').dialog('close');
}
}
//删除一行
function deleteRow(t){
backFlag=1;
$(t).parent().parent().remove();
}

//新增一行
function addRow(){
let $tr = $('<tr>'+
'<td>&nbsp;业绩起点(¥)(含):</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][achieStart]"'+
'id="achieStart" style="width: 200px;"'+
'data-options="required:true, missingMessage:\'请输入业绩起点\',validType:\'length[1,11]\',min:0,max:10000000,precision:2" /></td>'+
'<td>业绩节点(¥):</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][achieEnd]"'+
'id="achieEnd" style="width: 200px;"'+
'data-options="required:true, missingMessage:\'请输入业绩节点\',validType:\'length[1,11]\',min:0,max:10000000,precision:2" /></td>'+
'<td>分红比例:</td>'+
'<td><input class="easyui-numberbox" name="assessVoList[][ratio]"'+
'id="ratio" style="width: 100px;"'+
'data-options="required:true, missingMessage:\'请输入分红比例\',validType:\'length[1,4]\',min:0,max:100,precision:1" />%</td>'+
'<td><a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:deleteRow(this);">删除</a></td>'+
'</tr>');
let $table = $("#distTable");
$table.append($tr);
$.parser.parse($table);//重新渲染,否则easyUI样式失效
}

获取数据

let obj=$('#distAwardform').serializeJSON();//转为json对象
obj=obj.assessVoList;

let json = JSON.stringify(obj);//转为json字符串

ps:

input的那么属性一定要assessVoList[][属性名这种方式] 否则无效,有大神知道原因的话还请赐教,多谢.

jQuery动态添加元素,并提交json格式数据到后台的更多相关文章

  1. ajax 提交 json格式数据到后台

    例子:$.ajax({ type: 'POST', url: "/ROOT/modify.do", contentType: "application/json" ...

  2. 使用Javascript/jQuery将javascript对象转换为json格式数据 - 海涛的CSDN博客 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. Android 如何通过Retrofit提交Json格式数据

    本文将介绍如何通过retrofit库post一串json格式的数据.首先post的json数据格式如下: { "Id": "string", "Dev ...

  4. jQuery中使用Ajax获取JSON格式数据示例代码

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...

  5. Django day11(一) ajax 文件上传 提交json格式数据

    一: 什么是ajax? AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互 ...

  6. 向Solr数据集提交Json格式数据(Scala,Post)

    import scalaj.http.Http class SolrAdd () {// 方法接受两个参数,dataType为数据集名称,jsonString为数据json字符串 def postTo ...

  7. 【Web】前台传送JSON格式数据到后台Shell处理

    1.js中的json对象和字符串之间的转化:http://www.oschina.net/code/snippet_175925_6288 代码片段: var obj = JSON.parse(des ...

  8. jQuery获取JSON格式数据方法

    getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...

  9. ASP.NET Hashtable输出JSON格式数据

    最近在开发Windows8 Metro App,使用JavaScript和HTML开发环境.所以操作数据绑定都是使用JSON格式数据.后台使用的是ASP.NET,因为项目相对较小,所有后台没有使用数据 ...

随机推荐

  1. Maven jenkins +Jmeter自动化测试

    Maven jenkins +Jmeter自动化测试 1. Jenkins中集成jmeter-maven插件 http://my.oschina.net/u/1377774/blog/168969 2 ...

  2. android studio在windows上设置git/ssh

    windows果然是与众不同的,凡事都要那么麻烦一点点(当然..是对程序员来说..) 一开始,我想用cygwin里的git,就省得我再多装一套软件,配置也可以统一,但事实证明不行 在android s ...

  3. 9、perldoc文档阅读器

    转载:http://www.cnblogs.com/nkwy2012/p/6016320.html 一般来说,将文档的名称作为参数传递给perldoc命令,即可查阅该文档.比如下面,给定文档名称per ...

  4. windows10 Ubuntu子系统下卸载Mysql重装

    首先删除mysql: sudo apt-get remove mysql-* 然后清理残留的数据 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg ...

  5. 32.我的wafBypass之道

    0x01 搞起 当我们遇到一个waf时,要确定是什么类型的?先来看看主流的这些waf,狗.盾.神. 锁.宝.卫士等等...(在测试时不要只在官网测试,因为存在版本差异导致规则库并不一致) 1.云waf ...

  6. hdu1063

    #include<iostream> #include<string> using namespace std; struct BigReal //高精度实数 { int le ...

  7. idea调试SpringMvc, 出现:”javax.servlet.ServletException: java.lang.IllegalStateException: Cannot create a session after the response has been committed"错误的解决方法

    调试拦截器出现以下错误: HTTP Status 500 - javax.servlet.ServletException: java.lang.IllegalStateException: Cann ...

  8. Sharepoint2013商务智能学习笔记之部署AdventureWorksDW2012数据库(三)

    AdventureWorksDW2012是sql server2012的样本数据库,后面做商务智能Demo会用到,所以需要下载并安装到sql server2012上,下载地址 第一步,下载数据库 第二 ...

  9. Ubuntu 安装 samba 实现文件共享和source insight 阅读uboot

    环境:win10 + 虚拟机Ubuntu 12.04 一. samba的安装: # sudo apt-get install samba # sudo apt-get install smbfs 二. ...

  10. 洛谷P1912 [NOI2009]诗人小G(决策单调性)

    传送门 题解 决策单调性是个啥……导函数是个啥……这题解讲的是啥……我是个啥…… //minamoto #include<iostream> #include<cstdio> ...