【问题标题】:jquery attr id not getting input id [duplicate]jquery attr id没有得到输入id [重复]
【发布时间】:2021-12-27 18:28:55
【问题描述】:

我正在尝试获取表格行上新添加的输入字段的 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 函数添加的输入字段。

【问题讨论】:

  • 您需要对附加事件后创建的元素使用事件委托。 $(document).on("keyup", ".pnumber", function(){
  • 谢谢你的工作
  • 另请注意:您不需要 html 元素 ID。如果你认为你做到了,再想一想。 也许你需要一个数据属性,而不是一个 html 元素 ID。

标签: jquery attr


【解决方案1】:

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

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

【讨论】:

  • 您希望这会产生什么效果?仅更改这一点对问题中的问题绝对没有影响。
  • 通常对于“自定义”属性,现在您应该添加 data- 前缀,例如 data-user-id - 但对于 id,如果它是 true html ID , (在这种情况下不是)那么它仍然应该是id=
猜你喜欢
  • 1970-01-01
  • 2021-08-06
  • 2021-06-25
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多