基于jQuery实现点击最后一行实现行自增效果的表格
现在任何事务都追求效率和人性化,当然网页效果也是如此,如果一个可以编辑数据的表格,编辑到最后一行的时候,点击可以自动添加一行,这样算是一个比较人性化的效果,可以免去一丝劳顿之苦,下面分享一段这样的代码。
代码如下:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<metaname="author"content="https://www.nhooo.com/"/>
<title>毛票票</title>
<styletype="text/css">
table
{
width:800px;
margin:50pxauto;
border-collapse:collapse;
border-spacing:0;
}
tabletr,tableth,tabletd
{
border:1pxsolid#ddd;
font-size:12px;
}
tabletrtd:first-child
{
width:30px;
text-align:center;
}
tabletdinput
{
width:100%;
height:100%;
padding:5px0;
border:0none;
}
tabletdinput:focus
{
box-shadow:1px1px3px#dddinset;
outline:none;
}
</style>
<scripttype="text/javascript"src="mytest/jQuery/jquery-1.8.3.js"></script>
<scripttype="text/javascript">
$(function(){
varoTable=$("#count"),iNum=1,eEle='';
oTable.on('click',function(e){
vartarget=e.target,
oTr=$(target).closest('tr');
if(oTr.index()==oTable.find('tr').last().index())
{
iNum++;
eEle=oTr.clone();
eEle.find('td').eq(0).text(iNum);
}
oTable.append(eEle);
});
});
</script>[/size]
[size=2]</head>
<body>
<tableid="count">
<tr>
<th>序号</th>
<th>姓名</th>
<th>金额[USD]</th>
<th>时间</th>
<th>项目</th>
<th>单位</th>
<th>备注</th>
</tr>
<tr>
<td>1</td>
<td><inputtype="text"/></td>
<td><inputtype="text"/></td>
<td><inputtype="text"/></td>
<td><inputtype="text"/></td>
<td><inputtype="text"/></td>
<td><inputtype="text"/></td>
</tr>
</table>
</body>
</html>
以上代码实现了我们的要求,点击表格的最后一行,可以自动添加新行,下面介绍一下它的实现过程。
一.代码注释:
1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
2.varoTable=$("#count"),获取id属性值为count的对象,在这里就是表格对象。
3.iNum=1,声明一个变量并赋初值为1,以后可以每增加一行就会+1作为行号。
4.eEle='',声明一个变量用来存储行对象。
5.oTable.on('click',function(e){}),为表格对象注册click事件处理函数。
6.vartarget=e.target,获取被点击的源对象。
7.oTr=$(target).closest('tr'),获取最近的tr祖辈元素。
8.f(oTr.index()==oTable.find('tr').last().index()),判断点击的是否是最后一行。
9.iNum++,iNum的值加1。
10.eEle=oTr.clone(),克隆当前行对象。
11.eEle.find('td').eq(0).text(iNum),设置最后一行第一个单元格的值。
12.oTable.append(eEle),为表格的最后添加行。
关于jQuery实现点击最后一行实现行自增效果的表格的全部内容先给大家介绍这么多,以上内容给大有注释,有不明白得地方可以参考下,非常感谢大家一直以来对毛票票网站的支持。