添加行时,JQuery将id和值添加到文本框中

时间:2010-03-05 16:48:36

标签: jquery html

我需要添加一个值(如果在加载表单时有任何功能)和一个顺序id(例如id =“textbox_1” - id =“textbox_2”等等)到jquery添加的行内的文本框中

要添加id,它将作为每次调用函数的示例,它将增加一个文本框的id结尾(例如id =“textbox1”,next id =“textbox2”等等)。 )。

另外,请注意第一行没有id,我该如何解决?

要在文本框中添加值,需要将text1转入class = textbox1

我目前的代码是。

感谢大家。

<html>
<head>
<script type="text/javascript">         
function createNewRow (text1,text2){
 $('#tblOtherParties > tbody').append('<tr><td>
    <input type="text" class="title1" value=""/>
   </td><td>
    <input type="text" class="title2"  value=""/>
   </td><td>
     <input type="button" class="btnDeleteOther" value="X"/>
  </td></tr>');

}

$(document).ready(function(){
  $(".btnDeleteOther").live("click", function(){
  $(this).closest('tr').not(':only-child').remove();
});

$('#btnAddOther').click(function(){
  createNewRow('hello','you');
  });

});

</script>
</head>
<body>
  <table style="float:left" id="tblOtherParties">
   <thead>
    <tr>
      <th>Title1</th>
      <th>Title2</th>
      <th>
    <input type="button" id="btnAddOther" value="Add"/>
      </th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>
      <input type="text" class="title1"/>
     </td>
     <td>
       <input type="text" class="title2"/>
     </td>
     <td>
      <input type="button" class="btnDeleteOther" value="X"/>
     </td>
    </tr>
   </tbody>
 </table>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

塞萨尔, 您可以创建一个全局变量var counter = 0;并在每次创建项目时增加此变量,然后将其包含在createNewRow函数中,如下所示:

  
function createNewRow (text1,text2){
 var first = counter++;
 var second = counter++;
 $('#tblOtherParties > tbody').append('<tr><td>
    <input type="text" id="textbox_'+first+'" class="title1" value="'+text1+'"/>
   </td><td>
   <input type="text" id="textbox_'+second+'" class="title2"  value="'+text2+'"/>
   </td><td>
     <input type="button" class="btnDeleteOther" value="X"/>
  </td></tr>');
}

另请注意,我在值中添加了text1和text2。 :-)希望这有帮助

答案 1 :(得分:0)

目前尚不清楚你在问什么,但是......

您可以使用此

计算现有行数
var i = $('#tblOtherParties>tbody>tr').length;

然后在需要序列ID的地方使用i + 1.