基本上每次点击.addScnt
button
时,它都会在form
.p_scents
的页面上添加div
,但date picker range
如果通过按钮添加input
,则form
无效。
如果我通过复制粘贴html文件中的代码将他放在页面中,它就可以正常工作。
这是我的职责:
$(function() {
var scntDiv = $('.p_scents');
$('.addScnt').on('click', function() {
$('/* removed long strip of code for easier reading */').appendTo(scntDiv);
return false;
});
});
从阅读互联网上我发现了一些关于“直接和委托事件”的内容,但我仍然无法弄清楚我做错了什么。
编辑以澄清:
这很有效。
HTML:
<div class="form-group">
<label class="control-label col-xs-12 col-sm-3 no-padding-right" for="date-range-picker">Start/End Date:</label>
<div class="col-xs-12 col-sm-9">
<div class="clearfix">
<input class="col-xs-12 col-sm-4 date-range-picker" type="text" name="date-range-picker" />
</div>
</div>
</div>
Jquery的:
$('.date-range-picker').daterangepicker().prev().on(ace.click_event, function(){
$(this).next().focus();
});
而事实并非如此。
的Jquery + HTML:
$(function() {
var scntDiv = $('.p_scents');
var i = $('.p_scents').size();
$('.addScnt').on('click', function() {
$(' <div class="form-group"> <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="date-range-picker">Start/End Date:</label> <div class="col-xs-12 col-sm-9"> <div class="clearfix"> <input class="col-xs-12 col-sm-4 date-range-picker" type="text" name="date-range-picker" /> </div> </div> </div>').appendTo(scntDiv); i++;
return false;
});
});
答案 0 :(得分:1)
每次添加到DOM时,都需要为这些特定节点设置新的事件处理程序。因此,在附加后,附加该日期选择器的侦听器。更好;使用$('.allMyFormsDiv').find('.datePicker').on('focus', openDatePicker)
如果这不能回答你的问题,请发一个小提琴(/无论如何)链接,如果没有显示出错的话,那就没有了解。