使用Jquery创建动态动态三元组

时间:2014-04-09 13:28:27

标签: jquery

我在创建动态trs时面临问题

当我点击添加更多行时,它应该能够为每个TR生成动态ID。

它应该像rownumber_1,rownumber_2一样生成。

但是它总是只生成rownumber_2,我的错误。请帮助

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dynamic Row</title>
<script type="text/javascript" src="jquery-1.9.1.js"></script> 
<script language="javascript"> 
$(document).ready(function(){
// generate new row
$('#addButton').on('click', function(event){
 var i = $('#addButton').size() + 1;   
var newRow = '<TR id="rownumber_' + i +'"><td><input type="text" name="" value="" id=""  ></td><td><input type="text" name="" value="" ></td><td><input type="text" name=""  ></td></tr>';
 i++;
$('#room').append(newRow);        
    });
});
</script>
</head>
<body>

<table width="42%" border="1" cellspacing="1" cellpadding="1" style="border-collapse:collapse;"  id="room" >
  <tr>
    <td>Col1</td>
    <td>Col2</td>
    <td>Col3</td>
    <td><a href="#" align=left id="addButton" >Add More Rows</a></td>
  </tr>
    <tr>
    <td><input type="text" name=""  ></td>
    <td><input type="text" name=""  ></td>


    <td><input type="text" name=""  ></td>

  </tr>
</table> 

3 个答案:

答案 0 :(得分:2)

使用:

var i = $('#room tr[id*="rownumber_"]').size() + 1;

答案 1 :(得分:1)

$('#addButton').size()将始终返回1(因为ID应该是唯一的)所以

var i = $('#addButton').size() + 1

将始终返回2.
我想您想要使用$("#room tr").size(),它会为您提供现有行数。使用

var i = $("#room tr").size() + 1

答案 2 :(得分:0)

简单只需添加此项,每次都会计算到现在为止的计数行,然后为下一行添加1

var i=   $('#room tr').length +1;
相关问题