我附加了具有不同id值的按钮<input type="button" />
的随机列表,用于来自循环生成的唯一性,如下所示:
for(i=1;i<=10;i++){
var btn_list = '<input type="button" id="btn_id'+i+'" value="button#'+i+'">';
$('.btn_tableform').append(btn_list);
}
并且这个forloop的结果是10按钮,名称为button1,依此类推......但我的问题是我无法获得正确的值,我的按钮点击似乎不起作用。
for(i=1;i<=10;i++){
$('#btn_id'+i).on('click',function(){
alert($(this).val());
});
}
答案 0 :(得分:0)
您应该创建一个HTML字符串,并在循环后立即附加所有内容。还使用一个公共类,所以你只需要一个处理程序!
var buttonList = "";
for(i=1;i<=10;i++){
buttonList += '<input type="button" id="btn_id'+i+'" class="button-list" value="button#'+i+'">';
}
$('.btn_tableform').append(buttonList);
$(".button-list").click(function() {
alert(this.value);
});
答案 1 :(得分:0)
您点击事件将无效,因为您的按钮在页面加载时不存在,它们是使用您的循环创建的。您需要使用jquery .on()
代替click()
,如下所示:
$(".button-list").on('click', function () {
alert($(this).val());
});