jquery的replaceWith用法求详解,代码改进!
我增加的行中有多个input select,希望在删除时能保持内容不变,可是在replaceWith时遇到问题!
如何能简洁的更新相关的id,name,value?
以下是重点代码
以下是全文代码
我找到了原文里只有一个input,好理解,多个input就遇到问题了。
这是原文
这是原文地址http://www.blogjava.net/absolutedo/archive/2009/03/13/259488.html
如何能简洁的更新相关的id,name,value?
以下是重点代码
//删除<tr/>
var deltr =function(index)
{
var _len = $("#tab tr").length;
$("tr[id='"+index+"']").remove();//删除当前行
for(var i=index+1,j=_len;i<j;i++)
{
//var nextTxtVal = $("#desc"+i).val();
var nextTxtVal = $("#desc"+i).html();
var nextIndex = $("#desc"+i).get(0).selectedIndex;
$("tr[id=\'"+i+"\']")
.replaceWith("<tr id="+(i-1)+" align='center'>"
+"<td>"+(i-1)+"</td>"
+"<td><select name=ColorName"+(i-1)+" id='desc"+(i-1)+"' style=width:auto;>"+nextTxtVal+"</select></td>"
+"<td><a href=\'#\' onclick=\'deltr("+(i-1)+")\'>删除</a></td>"
+"</tr>");
$("#desc"+(i-1)).get(0).selectedIndex = nextIndex; //index为索引值
}
以下是全文代码
<!-- include file="public/isuser.asp" -->
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<title></title>
<script>
$(document).ready(function(){
//<tr/>居中
$("#tab tr").attr("align","center");
//增加<tr/>
$("#but").click(function(){
var _len = $("#tab tr").length;
//alert(_len);
$("#tab").append("<tr id="+_len+" align='center'>"
+"<td>"+_len+"</td>"
+"<td><select name=ColorName"+_len+" id='desc"+_len+"' 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_"+_len+"' id='D_90"+_len+"' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S100_"+_len+"' id='D_100"+_len+"' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S110_"+_len+"' id='D_110"+_len+"' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S120_"+_len+"' id='D_120"+_len+"' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S130_"+_len+"' id='D_130"+_len+"' /></td>"
+"<td><input type='text' class='number' size='6' maxlength='6' value='0' name='S140_"+_len+"' id='D_140"+_len+"' /></td>"
+"<td><a href=\'#\' onclick=\'deltr("+_len+")\'>删除</a></td>"
+"</tr>");
})
})
//删除<tr/>
var deltr =function(index)
{
var _len = $("#tab tr").length;
$("tr[id='"+index+"']").remove();//删除当前行
for(var i=index+1,j=_len;i<j;i++)
{
//var nextTxtVal = $("#desc"+i).val();
var nextTxtVal = $("#desc"+i).html();
var nextIndex = $("#desc"+i).get(0).selectedIndex;
$("tr[id=\'"+i+"\']")
.replaceWith("<tr id="+(i-1)+" align='center'>"
+"<td>"+(i-1)+"</td>"
+"<td><select name=ColorName"+(i-1)+" id='desc"+(i-1)+"' style=width:auto;>"+nextTxtVal+"</select></td>"
+"<td><a href=\'#\' onclick=\'deltr("+(i-1)+")\'>删除</a></td>"
+"</tr>");
$("#desc"+(i-1)).get(0).selectedIndex = nextIndex; //index为索引值
}
}
</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,好理解,多个input就遇到问题了。
这是原文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<title></title>
<script>
$(document).ready(function(){
//<tr/>居中
$("#tab tr").attr("align","center");
//增加<tr/>
$("#but").click(function(){
var _len = $("#tab tr").length;
$("#tab").append("<tr id="+_len+" align='center'>"
+"<td>"+_len+"</td>"
+"<td>Dynamic TR"+_len+"</td>"
+"<td><input type='text' name='desc"+_len+"' id='desc"+_len+"' /></td>"
+"<td><a href=\'#\' onclick=\'deltr("+_len+")\'>删除</a></td>"
+"</tr>");
})
})
//删除<tr/>
var deltr =function(index)
{
var _len = $("#tab tr").length;
$("tr[id='"+index+"']").remove();//删除当前行
for(var i=index+1,j=_len;i<j;i++)
{
var nextTxtVal = $("#desc"+i).val();
$("tr[id=\'"+i+"\']")
.replaceWith("<tr id="+(i-1)+" align='center'>"
+"<td>"+(i-1)+"</td>"
+"<td>Dynamic TR"+(i-1)+"</td>"
+"<td><input type='text' name='desc"+(i-1)+"' value='"+nextTxtVal+"' id='desc"+(i-1)+"'/></td>"
+"<td><a href=\'#\' onclick=\'deltr("+(i-1)+")\'>删除</a></td>"
+"</tr>");
}
}
</script>
</head>
<body>
<form action="" method="get">
<input name="" type="submit" />
<table id="tab" border="1" width="60%" align="center" style="margin-top:20px">
<tr>
<td width="20%">序号</td>
<td>标题</td>
<td>描述</td>
<td>操作</td>
</tr>
</table>
<div style="border:2px;border-color:#00CC00;margin-left:20%;margin-top:20px">
<input type="button" id="but" value="增加"/>
</div>
</form>
</body>
</html>
这是原文地址http://www.blogjava.net/absolutedo/archive/2009/03/13/259488.html
...全文
相关推荐
jQuery中replaceWith()方法用法实例
示例代码下面是一个简单的实例,展示了如何使用`replaceWith()`方法将`<p>`元素替换为`<div>`元素:```html<!
jQuery替换节点用法示例(使用replaceWith方法)
本文将详细介绍如何使用jQuery的replaceWith方法来替换特定的DOM节点,并结合实例来说明其具体用法和技巧。
jQuery标签替换函数replaceWith()的使用例子
在jQuery库中,有许多实用的函数可以用来操作DOM,而replaceWith()就是其中之一。
replacewith替换文本内容
《锋利的jquery》利用replacewith替换文本内容
JQuery替换DOM节点的方法
.nm_p");```在这段代码中,我们首先通过JQuery创建了一个新的<p>元素,并通过replaceAll()方法将其替换为页面上所有类名为"nm_p"的元素。


