2014-10-06 59 views
0

我追加按鈕<input type="button" />的隨機列表與ID的不同價值,爲它們來自循環的唯一性產生的東西是這樣的:jQuery的追加導致輸入按鈕列表中無法得到確切值

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

http://jsfiddle.net/ca2​​1h5hg/ – dfsq 2014-10-06 13:43:16

+0

似乎在dfsq的小提琴做工精細,並且該代碼基本上是相同的你。有沒有可能是你沒有向我們展示的東西? – JLRishe 2014-10-06 13:46:09

回答

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); 
}); 
0

您單擊事件將無法正常工作,因爲您的按鈕不在頁面加載時出現,它們是用您的循環創建的。您將需要使用jQuery的.on()而不是click()像這樣:

$(".button-list").on('click', function() { 
     alert($(this).val()); 
});