1. 程式人生 > >jquery 動態控制表格,新增,刪除,上移,下移,排序

jquery 動態控制表格,新增,刪除,上移,下移,排序

這個功能的實現主要運用了jquery  的遍歷和DOM操作

.prev()獲得匹配元素集合中每個元素緊鄰的前一個同輩元素,由選擇器篩選(可選)。

.next()獲得匹配元素集合中每個元素緊鄰的同輩元素。

.find()獲得當前匹配元素集合中每個元素的後代,由選擇器進行篩選。

效果圖


原始碼:

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
function addrow(id){
$("#"+id).append("<tr><td>1</td><td><input type=\"radio\" name=\"radio\"><td><input type=\"text\" value=\"\"/></td><td><input type=\"text\"  value=\"\"/></td><td><input type=\"text\" value=\"\"/></td></tr>");
Sequence()
}
function deleterow(id)
{
//alert($("#"+id+" tr").find("input[name='radio']:checked").val());
var tr=$("#"+id+" tr").find("input[name='radio']:checked");
if(tr.val()=="on"){
tr.parent().parent().remove();
Sequence()
}
else{alert("請選擇要刪除的項");}
}
function toprow(id){
var tr=$("#"+id+" tr").find("input[name='radio']:checked");
var btr=tr.parent().parent();
var pretr=btr.prev();
if(tr.val()=="on"){
btr.after(pretr);
Sequence()
}
else{alert("請選擇要上移的項")}
}
function bottomaddrow(id)
{
var tr=$("#"+id+" tr").find("input[name='radio']:checked");
var btr=tr.parent().parent();
var pretr=btr.next();
if(tr.val()=="on"){
btr.before(pretr);
Sequence();
}
else{alert("請選擇要下移的項")}

}

function Sequence()
{
 var tr=$("#table1").find("tr").length;
var xuhao=$("#table1").find("tr").find("td").eq("0");
for(var i=0;i<tr;i++)
{
$("#table1").find("tr").eq(i).find("td").eq("0").text(i+1);
}
}
</script>
</head>
<body>
<table id="table1" border="1" width="500"  >
<tr><td>1</td><td><input type="radio" name="radio"></td><td><input type="text" value="0"/></td><td><input type="text" value="0"/></td><td><input type="text" value="0"/></td></tr>
</table>
<input type="button" value="新增" onclick="addrow('table1')"/>
<input type="button" value="刪除" onclick="deleterow('table1')"/>
<input type="button" value="上移" onclick="toprow('table1')"/>
<input type="button" value="下移" onclick="bottomaddrow('table1')"/>
</body>
</html>