我有以下fiddle1 http://jsfiddle.net/y6tCt/35/。我需要動態構建checkbox
列表,但現在我已硬編碼兩行。當我點擊其中一個checkbox
es時,它不會調用「更改」事件。JQuery複選框甚至
如果有人能夠看一看,讓我知道我做錯了什麼,我將不勝感激。
我有以下fiddle1 http://jsfiddle.net/y6tCt/35/。我需要動態構建checkbox
列表,但現在我已硬編碼兩行。當我點擊其中一個checkbox
es時,它不會調用「更改」事件。JQuery複選框甚至
如果有人能夠看一看,讓我知道我做錯了什麼,我將不勝感激。
你可以使用jquery live,因爲它在動態創建的元素上工作。
$(":checkbox").live('change', function() {
耶,非常感謝你的工作。 –
@Martin這確實有效,並且是一個很好的解決方案,但是希望你能理解你的原創爲什麼不起作用,如果不能,那麼請看下面的一些答案,這些答案會更詳細地解釋。 –
的問題是,你的DOM是buildHTML前準備好();已經完成運行。
將調用放入buildHTML();如下
$(document).ready(function() {
buildHTML();
$(":checkbox").change(function() {
alert("here");
});});
結帳腳本它現在的工作,http://jsfiddle.net/y6tCt/46/
這裏是我改劇本,
buildHTML();
$(":checkbox").click(function() {
if($(this).is(':checked')) {
alert("Checked");
} else {
alert('Unchecked');
}
});});
的可能重複[jQuery的:事件綁定的動態創建的元素(HTTP ://stackoverflow.com/questions/203198/jquery-event-binding-on-dynamically-created-elements) – Esailija