jquery追加结果输入按钮列表无法获得准确的值

时间:2014-10-06 13:39:27

标签: javascript jquery

我附加了具有不同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());
  });
 }

2 个答案:

答案 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());
});