思路大致这样的 var allNameIndex //用来保存你增加的编号,删除的时候,从里面删除 var i = 0;增加的数目,只进行增加如 var allNameIndex = ","; 增加一行 i++ allNameIndex += i + "," 真实增加的代码删除一行,你只需记住删除的需要,比如5, allNameIndex = allNameIndex.replace("," + r + ",",",")你把allNameIndex放在隐藏域中提交,注意最好删除开始和结束的“,”后台Dim allNameIndex allNameIndex = Split(Request("allNameIndex"),",")For i =LBound(allNameIndex ) to UBound(allNameIndex ) Request.Form("表单名称" + i)即可
var size = $("#tab tr").size();//当前行数 //除开表头。从第二行开始遍历所有tr $("#tab tr:gt(0)").each(function(i,n){ var index = i+1,//当前行新的序号 tr = $(this),//当前行 id = tr.attr("id");//当前行ID
name1 namess1
name2 namess2
name3 namess3
name4 namess4
var allNameIndex //用来保存你增加的编号,删除的时候,从里面删除
var i = 0;增加的数目,只进行增加如
var allNameIndex = ",";
增加一行
i++
allNameIndex += i + ","
真实增加的代码删除一行,你只需记住删除的需要,比如5,
allNameIndex = allNameIndex.replace("," + r + ",",",")你把allNameIndex放在隐藏域中提交,注意最好删除开始和结束的“,”后台Dim allNameIndex
allNameIndex = Split(Request("allNameIndex"),",")For i =LBound(allNameIndex ) to UBound(allNameIndex )
Request.Form("表单名称" + i)即可
var deltr =function(index)
{
var _len = $("#tab tr").length;
$("tr[id='"+index+"']").remove();//删除当前行
} 直接这样不就把整个行删除了。你想要什么效果。
列1 列2
name1 namess1
name2 namess2
name3 namess3
name4 namess4假设第二行被删除,
则原来的第三,第四行,name自动减1,
原来第三行< input name = "color3">,现在变成<input name = "color2">
<!-- include file="public/isuser.asp" -->
<html>
<head>
<title></title>
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
var idx = 1;//全局保存序号,初始值为1$(document).ready(function(){ $("#tab tr").attr("align","center");
$("#but").click(function(){
var html = "<tr id={0} align='center'>"
+"<td>{0}</td>"
+"<td><select name=ColorName{0} id='desc{0}' style=width:auto;><option value=黑色 >黑色</option><option value=紫色 >紫色</option><option value=绿色 >绿色</option></select></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S90_{0}' id='D_90{0}' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S100_{0}' id='D_100{0}' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S110_{0}' id='D_110{0}' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S120_{0}' id='D_120{0}' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S130_{0}' id='D_130{0}' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S140_{0}' id='D_140{0}' /></td>"
+"<td><a href=\'#\' onclick=\'deltr({0})\'>删除</a></td>"
+"</tr>";
html = html.replace(/\{0\}/g,idx++);//自增序号,且替换掉模板中的值
$("#tab").append(html);//追加行
});
}) //删除<tr/>
var deltr =function(index){
$("tr[id='"+index+"']").remove();//删除当前行
var size = $("#tab tr").size();//当前行数 //除开表头。从第二行开始遍历所有tr
$("#tab tr:gt(0)").each(function(i,n){
var index = i+1,//当前行新的序号
tr = $(this),//当前行
id = tr.attr("id");//当前行ID
//更新第一列的内容::序号
tr.find('td')
.eq(0)
.text(index);
//更新select的name和id
tr.find('#desc'+id)
.attr('name','ColorName'+index)
.attr('id','desc'+index);
/*
更新尺码的name和id
这里是以你例子中数据,直接指定了[90,100,110,120,130,140]
如果不是固定的,可以用类似于下面的方法去动态获取
var th = $("#tab tr:first th"),
arr = [];
for(var i=2;i<th.size()-1;i++){
arr.push(th.eq(i).text())
}
*/
$.each([90,100,110,120,130,140],function(j,n){
tr.find('#D_'+ n + id)
.attr('name','S'+ n +'_' + index)
.attr('id','D_'+ n +'' + index);
});
//更新当前行ID
tr.attr('id',index);
});
//重置全局序号
idx = size;
} </script>
</head>
<body>
<div id="inner-table-hpzl">
<form action="" method="get">
<table id="tab" border="1" width="60%" align="center" style="margin-top:20px">
<tr>
<th width=30 align=center>序号</th>
<th width=110 align=center>颜色</th>
<th width=50 align=center>90</th><th width=50 align=center>100</th><th width=50 align=center>110</th><th width=50 align=center>120</th><th width=50 align=center>130</th><th width=50 align=center>140</th>
<th width=28 align=center>操作</th>
</tr>
</table>
<div style="border:2px;border-color:#00CC00;margin-left:20%;margin-top:20px">
<input type="button" id="but" value="增加"/>
</div>
</form>
</div>
<input name="" type="text" maxlength='6'>
<input name="" type="submit"/> intK<input name=intK> intS<input name=intS>
</body>
</html>
input控件name及value自动更正??
----------------------------------------------------因为我的后台程序要根据同一行的各name的值综合查询该条(行)记录是否符合要求。
例如 出货单 里要对每一行的商品进行库存验证。
----------------------------------------------------
谢谢 crying_boy 老师,您的代码好标准,正在努力学习吸收中!!
另外如果要在前台改变在提交前重新命名一次即可,不用每次删除行的时候改来改去