JS实现动态生成表格并提交表格数据向后端实现动态生成表格并提交表格数据向后端
本文实例介绍了JS实现动态生成表格并向后端提交表格数据的相关代码,分享给大家供大家参考,具体内容如下
先来看一下需求:在web页面上动态的生成表格,并可以对表格中的数据进行编辑,然后把表格中的数据提交至后端服务器保
存。
那么我们首先需要解决的是动态生成表格的问题
1.首先我们需要导入首先我们需要导入JS库文件。库文件。
<script src="../js/jqui/jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
2.然后在页面然后在页面div中事先创建一个空白表格,可以根据需求而定,我这里是一个带表头的表格中事先创建一个空白表格,可以根据需求而定,我这里是一个带表头的表格
<table border="0" style="text-align: center;" width="100%" id="myTable">
<tr>
<td width="150px;">表头1</td>
<td width="150px;">表头2</td>
<td width="150px;">表头3</td>
<td width="150px;">表头4</td>
<td width="150px;">表头5</td>
<td width="150px;">操作</td>
</tr>
</table>
3.表格创建好后,我们就可以写动态生成表格的关键代码了。我们写一个表格创建好后,我们就可以写动态生成表格的关键代码了。我们写一个js方法供触发使用方法供触发使用
var num = 0;
function addTable(){
var tableHtml ="";
tableHtml += '<tr id="tr'+num+'">'
+'<td><input class="addtd" id="cnashu1'+num+'" style="width:150px;" type="text" name="cnashu1" /></td>'
+'<td><input class="addtd" id="cnashu2'+num+'" style="width:150px;" type="text" name="cnashu2"/></td>'
+'<td><input class="addtd" id="cnashu3'+num+'" style="width:150px;" type="text" name="cnashu3"/></td>'
+'<td><input class="addtd" id="cnashu4'+num+'" style="width:150px;" type="text" name="cnashu4"/></td>'
+'<td><input class="addtd" id="cnashu5'+num+'" style="width:150px;" type="text" name="cnashu5"/></td>'
+'<td><a style="cursor: pointer; color: blue;" onclick="removeTr('+num+')">删除</a>'
+'<a id="edit'+num+'" class="edit" style="cursor: pointer; color: blue;" onclick="editDataByOne('+num+')">修改</a>'
+'<a id="save'+num+'" class="hide" style="cursor: pointer; color: blue;" onclick="saveByOne('+num+')">保存</a>'
+'</td>'
+'</tr>';
var elements = $("#myTable").children().length; //表示id为“mtTable”的标签下的子标签的个数
$("#myTable").children().eq(elements - 1).after(tableHtml); //在表头之后添加空白行
num++;
}
我们可以看到在<tb>标签中我们添加了<input>标签,主要是用来提供用户输入参数, 而全局变量num,主要是用来区分每一
个添加的参数的id的唯一性而存在的。
4.接下来我们对表格进行操作接下来我们对表格进行操作
//删除行
function removeTr(trNum){
$("#tr"+trNum).remove();
}
//编辑行
function editDataByOne(trNum){
$this = $("#tr"+trNum);
$(".addtd",$this).removeAttr("readonly");
}
//保存行
function saveByOne(trNum){
$this = $("#tr"+trNum);
$(".addtd",$this).attr("readonly","readonly");
}
上面我们对表格进行了删除,编辑,保存等操作,具体操作内容可以根据需求调整。(其实后来我发现可以不需要全局num,
也可以实现对添加行的操作,至于怎么实现,主要是一些js的操作,有空再研究吧)
评论0