[英]How to get id of text box which is loaded dynamically -jquery
我正在页面中动态加载三个文本框,单击时需要获取文本框的ID。
$.ajax({
url: "../taxClass/getTaxClass",
type: "post",
contentType: "application/json",
dataType: "json",
success: function (data) {
var taxClassBOs = data.taxClassBOs;
$.each(taxClassBOs, function (key, value) {
$("#taxVatId").append('<div><label class="col-sm-3 control-label" for="VatId">' + value.description + '</label></div><div class="col-sm-3"><input type="text" name="vatId" value=""placeholder="' + value.title + '" id="' + value.taxClassId + '" class="form-control" /></div>');
});
}
});
我已经尝试过此代码
$('input[type="text"]').click(function () {
var id = $(this).attr('id');
alert(id);
});
几乎正确,但是由于要动态加载它们,因此需要委托
$(document).on('click', 'input[type="text"]',function(){
var id = $(this).attr('id');
alert(id);
});
您需要委派的原因是因为如果您附加处理程序,例如
$('input[type="text"]').click(function(){...});
它将仅附加到当前元素。
但是,通过委派,它将把处理程序应用于所有当前和将来的元素。
对动态添加的元素使用事件委托。
$('#taxVatId').on('click', "input[type="text"]", function(){
var id = $(this).attr('id');
alert(id);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.