获取 jquery 内文本框的动态 ID

Get dynamic id of textbox inside jquery

我动态创建的文本框 ID

$.each(vendor_name, function(p, tt) { 
    tr.append($("<td/>").html('<input type="text" name="cmpny_id" id="cmpny_id"'+p+' value="'+vendor_name[p]+'"/>'));
    console.log('<input type="text" name="cmpny_id" id="cmpny_id"'+p+' value="'+vendor_name[p]+'"/>');
});

现在我想获取文本框的值,我尝试了以下代码

$(this).attr("cmpny_id"+[2])

帮帮我

试试这个例子。您在错误的位置输入了输入 ID 的结束引号,您稍后查找输入的选择器也不正确。

var p = 2;
var vendor_name = {};
vendor_name[p] = "some name";

// append a table cell with an input
$("#appendme").append($("<td>").html('<input type="text" name="cmpny_id" id="cmpny_id'+p+'" value="'+vendor_name[p]+'"/>'));

// display the value of cmpny_id2
alert($("#cmpny_id2").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
  <tr id="appendme"></tr>
</table>

我不确定要完成什么,但您可以尝试类似的操作:

var id = 0;

$(document).on('click','#addVendor',function() {
      $("#vendor_name").append('<tr><td>'+id+': <input type="text" name="cmpny_id"></td></tr>');
      id = id+1;
});

$(document).on('click','#getVendor',function() {
  if (id == 0) {
      alert('At least add one vendor');
  } else {
    $("input[name=cmpny_id]").each(function(index) {
      alert('Index: '+index+' Value= '+$(this ).val());
    });
  }
});
  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="vendor_name">
</table>
<button id='addVendor'>Add Vendor Name</button>
<button id='getVendor'>Get Vendor Name</button>