如何使用javascript从HTML表格单元格中的文本框中获取文本框值

时间:2013-12-18 09:51:51

标签: jquery html

我使用javascript以编程方式创建了一个HTML表,类似于下面的代码:

function AddRow() {
   var rowcount  = $('#tabBillDet tr').length + 1;
   $('#tabDet tr:last').after("<tr><td><input type='text' id='txtItemCode' style='width:80px' /> </td></tr>");

我想获取在此文本框中输入的值。

我尝试了以下内容:

var tab = $('#tabDet tr');
for (var i = 0; i < tab.length; i++) {
    var group = $(tab[i].cells[0].children[0]).val();
    var ItemCode = $(tab[i].cells[1].children[0]).val();
}

我试过通过根据行数为每个文本框分别设置ID来使ID唯一。

但这不起作用。我怎样才能获得这些价值观?

3 个答案:

答案 0 :(得分:3)

看起来您要为多个元素分配相同的ID。 ID是唯一的,因为它们唯一地标识DOM中的元素。相反,将ID设为类:

$('#tabDet tr:last').after("<tr><td><input type='text' class='txtItemCode' style='width:80px' /> </td></tr>");

然后你就可以得到这样的值:

$('#tabDet tr .txtItemCode').each(function(){
   var ItemCode = $(this).val();

   //Do something with ItemCode.
});

答案 1 :(得分:0)

你的var在for循环的每次迭代时都会被覆盖,在作为数组之前声明var group和itemcode,只需将值放在数组中

var tab = $('#tabDet tr');
var group = [], ItemCode= [];
for (var i = 0; i < tab.length; i++) {
  group.push($(tab[i].cells[0].children[0]).val());
  ItemCode.push($(tab[i].cells[1].children[0]).val());
}

但你想用这个值做什么?为什么你不使用id?

答案 2 :(得分:0)

试试这个,

$('#tabBillDet tr').each(function() {
        var ItemCode = $("#txtItemCode", $(this)).val();
     });