通过javascript捕获动态生成的输入标记

时间:2017-04-19 07:11:52

标签: javascript jquery

我有一个应用程序,我有一个添加更多按钮,我需要在动态生成的输入上使用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字段,所以请协助

2 个答案:

答案 0 :(得分:1)

  

Event delegation允许我们将单个事件监听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。

在您的示例中,您选择了错误的元素作为父级!

$('#medicineTable').on('keyup', 'input.medicinefind', function(){ alert('clicked'); });

答案 1 :(得分:0)

我建议你在DOM填充或一旦元素添加到DOM后启动它。如果你能分享你的工作样本链接,这将有助于我帮助你。