我使用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唯一。
但这不起作用。我怎样才能获得这些价值观?
答案 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();
});