我有一个应用程序,我有一个添加更多按钮,我需要在动态生成的输入上使用jquery自动完成,我试图使用keyup作为事件来启动自动完成
我的HTML代码
<div class="form-group" id="medicineTable">
<div class="col-sm-8 selectContainer">
<input name="OTCtext[]" id="OTCtext" class="form-control medicinefind"/>
</div>
<div class="col-sm-4 selectContainer">
<input type="text" class="form-control" placeholder="Qts" value="1"/>
</div>
</div>
<div class="form-group" id="medicineTableTemp">
<div class="col-sm-8 selectContainer">
<input name="OTCtext[]" id="OTCtext" class="form-control medicinefind">
<input type="hidden" id="hiddenValue" value="0">
</div>
<div class="col-sm-4 selectContainer">
<input type="text" class="form-control" placeholder="Qts" value="1"/>
</div>
</div>
我的js代码
$('.selectContainer').on('keyup', 'input.medicinefind', function(){
alert('clicked');
});
我无法抓住动态的inout字段,所以请协助
答案 0 :(得分:1)
Event delegation
允许我们将单个事件监听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。
在您的示例中,您选择了错误的元素作为父级!
$('#medicineTable').on('keyup', 'input.medicinefind', function(){ alert('clicked'); });
答案 1 :(得分:0)
我建议你在DOM填充或一旦元素添加到DOM后启动它。如果你能分享你的工作样本链接,这将有助于我帮助你。