jquery attr id未获取输入id



我正在尝试获取表行上新添加的输入字段的ID。

我将输入字段添加为…

$('#addmore').click(function(){
// Get last id 
var lastname_id = $('.tr_input input[type=text]:nth-child(1)').last().attr('id');
var split_id = lastname_id.split('_');
// New index
var index = Number(split_id[1]) + 1;
// Create row with input elements
var html = '<tr><td><input class="form-control" type="number" id="qty_'+index+'" name="qty['+index+']" min="0.01" step="0.01" max="2500" placeholder="0" required /></td><td><input class="form-control pnumber" type="text" id="pnumber_'+index+'" name="pnumber['+index+']" placeholder="Numero del Producto" required /><div style="z-index: 99;" id="suggesstion-box"></div></td><td><input class="form-control" type="number" id="price_'+index+'" name="price['+index+']" min="0.01" step="0.01" max="2500" placeholder="0" required /></td><td><input class="form-control" type="number" id="total_'+index+'" name="total['+index+']" min="0.01" step="0.01" max="2500" placeholder="0" disabled /><td valign="top"><input type="button" name="delete" id="delete_'+index+'" class="btn bg-danger" value="Delete" /></td></tr>';
// Append data
$('#MyTable> tbody:last-child').after(html);
});

这就是我尝试获取ID 的方式

$(document).ready(function(){
$('.pnumber').keyup(function(){
var id = $(this).attr("id");
console.log(id);
});
});

这可以很好地处理原始HTML上的输入字段,但不能处理JQuery函数添加的输入字段。

您必须在html标记中使用data-id属性。例如

<input type="text" data-id="attr-value"/>

最新更新