2015-11-10 68 views
0

keyup事件不適用於動態添加的id屬性。我的代碼,Jquery keyup事件不適用於動態添加的id屬性

HTML

<div id="more-package-div" class="more-package-area"> 
    <input type="text" name="package_weight[]" id="package_weight_0" placeholder="Package weight" class="package_weight"> 
</div> 
<div id="extra-packages"></div> 
<a href="#" id="add-more-package">Add more package</a> 

JQUERY

var count = 1; 
var i = 0; 
$('#add-more-package').on('click', function(){ 
    $('#extra-packages').append($('#more-package-div').html()); 
    $('#package_weight_'+i).attr('id','package_weight_'+count); 
    i+= 1; 
    count += 1; 
}); 

$('.package_weight').on('keyup', function(){ 
    alert(this.id); 
}); 

在這種情況下,keyup事件只工作了第一個文本框。如何觸發動態添加屬性的'keyup'事件?

這是我JSFiddle

+0

使用事件代表團。 ['$('#extra-packages')。on('keyup','.package_weight',function(){'](http://jsfiddle.net/tusharj/x749740m/3/) – Tushar

回答

1
var count = 1; 
var i = 0; 
$('body').on('click','#add-more-package', function(){ 
    $('#extra-packages').append($('#more-package-div').html()); 
    $('#package_weight_'+i).attr('id','package_weight_'+count); 
    i+= 1; 
    count += 1; 
}); 

$('body').on('keyup','.package_weight', function(){ 
    alert(this.id); 
}); 

DEMO

+0

不需要使用靜態父'#extra-packages' – Tushar

+0

@Tushar有更多的方法$('body')或靜態父或甚至$(文檔)...我真的沒有搜索過關於這一切之間的尊重..但無論如何所有這些與我一起工作..我知道你是一個非常好的領域..並感謝您的評論..我會尋找尊重..謝謝 –