读书人

大家有没有遇到过JQUERY增一行删一行

发布时间: 2012-08-07 14:54:47 作者: rapoo

大家有没有遇到过JQUERY增一行,删一行不灵的问题??????
要求是一个TABLE列表10行,为了保持行数不变,并且是无刷新更新列表行。
在FORM中新增一条记录的同时删除最后一行的记录,保持和数不变,我用的方法:

JScript code
$("#tableId tr:first").before("<tr><td>asdf</td></tr>");$("#tableId tr:last").remove();

这是在第一行新增一条,然后删除最的一行。
但这么用不行!原因是对于原来刷出来的列表10条记录是可以的,但如果你新增了10条以上,
就是把原来刷出来的10条都换成你新增的这10条的话,你再新增,每新增两次,他才删一条,
所以造成多于10条记录,并不断的增加现像,不知道是怎么回事??
是不是对于JQUERY自己无刷新,新增的记录存在遍利的问题????

[解决办法]
楼主,我测试了没有出现你说的问题锕。我用IE7,8,9和火狐测试都没问题,测试代码如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function add() {
$("#tableId tr:first").before("<tr><td>" + (new Date().getMilliseconds()) + "</td></tr>");
$("#tableId tr:last").remove();
}
</script>
</head>
<body>
<table border="1" id="tableId">
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
<tr><td>7</td></tr>
<tr><td>8</td></tr>
<tr><td>9</td></tr>
<tr><td>10</td></tr>
</table>
<input type="button" value="add" onclick="add()" />
</body>
</html>
[解决办法]
JScript code
function addRow() {        var r = workTable.rows.length;        if (r< 10) {            //添加一行            var newTr = workTable.insertRow();            //添加两列            var newTd0 = newTr.insertCell();                        var newTd1 = newTr.insertCell();            //设置列内容和属性            newTd0.innerText =r+1;            newTd1.innerHTML = '<input type=text class="txt"/>';            r++;        } else {            alert("最多添加10条记录!");            return;         }    }    //var row = document.getElementById('workTable').rows.length - 1;    function delRow() {        var r = workTable.rows.length;                if (r> 5) {            //workTable.deleteRow(i);            document.getElementById('workTable').deleteRow(r-1);            r--;       } else {            alert("剩余5条记录不能删除!");                   }     }
[解决办法]
程序逻辑没有问题。
但是我个人建议你 先删除后新增,保你百试不爽。

$("#tableId tr:last").remove();
$("#tableId tr:first").before("<tr><td>asdf</td></tr>");

[解决办法]
JScript code
//也可以用prepend新增行试试:$("#tableId").prepend('<tr><td>asdf</td></tr>'); 

读书人网 >JavaScript

热点推荐