把昨天crying_boy老师的范例进行了更改,发出来供大家参考,指正! nice 非常好。解决问题然后把解决方法或者代码贴出来很好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 相关问题和考虑都写在注释中了,你自己参考使用,代码精简如下:<script type="text/javascript"> var idx = 1;//全局保存序号,初始值为1 $(function(){ $("#t136 tr").attr("align","center"); //增加一行 $("#but").click(function(){ var html = "<tr id=T_{0} align='center'>" +"<td><a href=\'javascript:void(0)\'>删除</a></td>" +"<td>{0}</td>" +"<td><select name=_ColorName_{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='_S_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_M_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_L_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XL_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XXL_{0}'/></td>" ///////// +"</tr>"; html = html.replace(/\{0\}/g,idx++);//自增序号,且替换掉模板中的值 $("#t136").append(html);//追加行 $('#intK').val(idx-1); }); //删除行,并重建序号 $('#t136').on('click','tr a',function(){ //删除当前行 $(this).parents('tr').remove(); $("#t136 tr:gt(0)").replaceWith(function(index){ //序号是从零开始的,使其自增,作为序号使用 index++; //更新序号 $(this).find('td') .eq(1) .text(index); /* 返回 replaceWith 所需的DOM结构 不知道你说的“1,原代码用的attr 改变name 值,但改变后其它javascript代码无法正确识别。”发生的环境 没有研究过replaceWith的原理 但按道理说,你可以 1:将上面的 $("#t136 tr:gt(0)").replaceWith 改为:$("#t136 tr:gt(0)").html 2:将下面的return语句改为: //更新当前行ID $(this).attr('id','T_'+(index)); //返回最新的DOM结构 return $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index); */ return "<tr id=T_"+index+" align='center'>" + $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index) + '</tr>'; }); //重置全局序号 idx = $("#t136 tr").size(); $('#intK').val(idx-1); }) }) </script> 忘了使用代码格式了<script type="text/javascript"> var idx = 1;//全局保存序号,初始值为1 $(function(){ $("#t136 tr").attr("align","center"); //增加一行 $("#but").click(function(){ var html = "<tr id=T_{0} align='center'>" +"<td><a href=\'javascript:void(0)\'>删除</a></td>" +"<td>{0}</td>" +"<td><select name=_ColorName_{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='_S_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_M_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_L_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XL_{0}'/></td>" +"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XXL_{0}'/></td>" ///////// +"</tr>"; html = html.replace(/\{0\}/g,idx++);//自增序号,且替换掉模板中的值 $("#t136").append(html);//追加行 $('#intK').val(idx-1); }); //删除行,并重建序号 $('#t136').on('click','tr a',function(){ //删除当前行 $(this).parents('tr').remove(); $("#t136 tr:gt(0)").replaceWith(function(index){ //序号是从零开始的,使其自增,作为序号使用 index++; //更新序号 $(this).find('td') .eq(1) .text(index); /* 返回 replaceWith 所需的DOM结构 不知道你说的“1,原代码用的attr 改变name 值,但改变后其它javascript代码无法正确识别。”发生的环境 没有研究过replaceWith的原理 但按道理说,你可以 1:将上面的 $("#t136 tr:gt(0)").replaceWith 改为:$("#t136 tr:gt(0)").html 2:将下面的return语句改为: //更新当前行ID $(this).attr('id','T_'+(index)); //返回最新的DOM结构 return $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index); */ return "<tr id=T_"+index+" align='center'>" + $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index) + '</tr>'; }); //重置全局序号 idx = $("#t136 tr").size(); $('#intK').val(idx-1); }) }) </script> 文字无缝滚动跨浏览器问题 Jquery Validation 只提示一个错误如何实现 求一正則,百分比。 js光标处插入文字的一段很奇怪的js代码 请教:如何屏蔽godaddy免费空间的javascript脚本 飘浮广告代码不支持Firefox,帮忙修改一下让它支持firefox javascript 版本问题 有点奇怪的需求要实现,大家帮帮忙,解决则再加100 请教一个关于框架的问题 easyui textbox事件 关于jQueryMobile中header的一个问题 关于添加class的问题
<script type="text/javascript">
var idx = 1;//全局保存序号,初始值为1
$(function(){
$("#t136 tr").attr("align","center");
//增加一行
$("#but").click(function(){
var html = "<tr id=T_{0} align='center'>"
+"<td><a href=\'javascript:void(0)\'>删除</a></td>"
+"<td>{0}</td>"
+"<td><select name=_ColorName_{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='_S_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_M_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_L_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XL_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XXL_{0}'/></td>"
/////////
+"</tr>";
html = html.replace(/\{0\}/g,idx++);//自增序号,且替换掉模板中的值
$("#t136").append(html);//追加行
$('#intK').val(idx-1);
});
//删除行,并重建序号
$('#t136').on('click','tr a',function(){
//删除当前行
$(this).parents('tr').remove();
$("#t136 tr:gt(0)").replaceWith(function(index){
//序号是从零开始的,使其自增,作为序号使用
index++;
//更新序号
$(this).find('td')
.eq(1)
.text(index);
/*
返回 replaceWith 所需的DOM结构
不知道你说的“1,原代码用的attr 改变name 值,但改变后其它javascript代码无法正确识别。”发生的环境
没有研究过replaceWith的原理
但按道理说,你可以
1:将上面的 $("#t136 tr:gt(0)").replaceWith 改为:$("#t136 tr:gt(0)").html
2:将下面的return语句改为:
//更新当前行ID
$(this).attr('id','T_'+(index));
//返回最新的DOM结构
return $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index);
*/
return "<tr id=T_"+index+" align='center'>"
+ $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index)
+ '</tr>';
});
//重置全局序号
idx = $("#t136 tr").size();
$('#intK').val(idx-1);
})
})
</script>
var idx = 1;//全局保存序号,初始值为1
$(function(){
$("#t136 tr").attr("align","center");
//增加一行
$("#but").click(function(){
var html = "<tr id=T_{0} align='center'>"
+"<td><a href=\'javascript:void(0)\'>删除</a></td>"
+"<td>{0}</td>"
+"<td><select name=_ColorName_{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='_S_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_M_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_L_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XL_{0}'/></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='_XXL_{0}'/></td>"
/////////
+"</tr>";
html = html.replace(/\{0\}/g,idx++);//自增序号,且替换掉模板中的值
$("#t136").append(html);//追加行
$('#intK').val(idx-1);
});
//删除行,并重建序号
$('#t136').on('click','tr a',function(){
//删除当前行
$(this).parents('tr').remove();
$("#t136 tr:gt(0)").replaceWith(function(index){
//序号是从零开始的,使其自增,作为序号使用
index++;
//更新序号
$(this).find('td')
.eq(1)
.text(index);
/*
返回 replaceWith 所需的DOM结构
不知道你说的“1,原代码用的attr 改变name 值,但改变后其它javascript代码无法正确识别。”发生的环境
没有研究过replaceWith的原理
但按道理说,你可以
1:将上面的 $("#t136 tr:gt(0)").replaceWith 改为:$("#t136 tr:gt(0)").html
2:将下面的return语句改为:
//更新当前行ID
$(this).attr('id','T_'+(index));
//返回最新的DOM结构
return $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index);
*/
return "<tr id=T_"+index+" align='center'>"
+ $(this).html().replace(/_(.*?)_(\d+)/g,'_$1_'+index)
+ '</tr>';
});
//重置全局序号
idx = $("#t136 tr").size();
$('#intK').val(idx-1);
})
})
</script>