为表行的所有输入元素分配ID和名称?

时间:2013-08-20 16:43:51

标签: javascript jquery html

我在html中有一个包含3个输入字段的表格行,如下所示。

 <tr class="prototype">
<td>
      <input id="" type="text" value="" name="">
</td>
<td>
     <input id="" type="text" value="" name="">
</td>
<td>
     <input id="" type="text" value="" name="">
</td>

    </tr>

现在我正在克隆这一行并尝试为新创建的行分配ID和名称。

如何为新创建的行分配ID和名称。

我正在克隆下面的行。

        var master = $("table.myTable");
    var prot = master.find("tr.prototype").clone();
    prot.removeClass('prototype');
    prot.addClass("someClass");

         // for all inputs of prot row i need to assign unique ids and names.

    jQuery('table.myTable tr:last').before(prot);

如何在将行添加到表之前/之后获取新创建的行的输入元素并分配ID和名称?

谢谢!

3 个答案:

答案 0 :(得分:1)

为三个输入中的每一个添加一个类,并添加如下属性:

prot.find('.your_class_for_input_1').attr('name', 'your_new_name').attr('id', 'your_new_id');
prot.find('.your_class_for_input_2').attr('name', 'your_new_name').attr('id', 'your_new_id');
prot.find('.your_class_for_input_3').attr('name', 'your_new_name').attr('id', 'your_new_id');

希望有所帮助。

答案 1 :(得分:1)

您可以使用$(selector).attr('id', name)分配新ID,也可以使用$(selector).attr('name', id)分配新名称。

答案 2 :(得分:1)

$(".someClass").children('input').each(function(index){
   $(this).attr('id',$(this).attr('id')+index);
   $(this).attr('name',$(this).attr('name')+index);
})

代码只是将索引附加到原始id和输入名称。