2010-07-07 85 views
1

我有以下HTML結構JavaScript的不工作的新通過的jQuery的innerHTML添加

<table> 
<tr> 
    <div id="getData"> 
    </div> 
</tr> 
</table> 

我使用jQuery的HTML()方法來添加動態內容div ID爲 「的getData」 爲:

$('#valueResult').html(data); 
    var data =" 
<table><tr><td><input type="checkbox" name="test[1]" onclick="doSometing()" /> Test</tr></tr></table> 
    <table><tr><td><input type="checkbox" name="test[2]" onclick="doSometing()" /> Test</tr></tr></table> " 

但是函數doSometing()永遠不會執行任何動態添加的複選框。 爲什麼如此?

任何人都可以幫我嗎?

THX。

回答

2

對於這樣的問題,一個更清潔的jQuery解決方案是使用.live()或甚至更好.delegate()

通過這種方法,你也應該給你的input element一個唯一的ID,並呼籲:

$(document).ready(function(){ 
    $('#unique_input_id').live('click', function(){ 
     alert('clicked'); 
    }); 
}); 

參考:.live()delegate()

+0

這節省了我很多時間。 .live能夠找到新添加的DIV!謝謝 – 2012-01-24 18:37:30

+0

@DavidKEgghead:歡迎花花公子:) – jAndy 2012-01-26 09:58:04