Javascript jQuery-组合";。关于;及";。每一个;关于动态添加元素
我正在动态添加新元素,这些元素如下所示:Javascript jQuery-组合";。关于;及";。每一个;关于动态添加元素,javascript,jquery,click,each,Javascript,Jquery,Click,Each,我正在动态添加新元素,这些元素如下所示: <div id="cars"> <input type="text" name="car_added[]" class="car" /> <input type="text" name="car_added[]" class="car" /> <input type="text" name="car_added[]" class="car" /> <input type="text"
<div id="cars">
<input type="text" name="car_added[]" class="car" />
<input type="text" name="car_added[]" class="car" />
<input type="text" name="car_added[]" class="car" />
<input type="text" name="car_added[]" class="car" />
<input type="text" name="car_added[]" class="car" />
</div>
单击输入后,将显示日期时间小部件
但是如何为动态添加的元素做到这一点呢?我尝试过以下方法,但不起作用:
$('#cars').on('click', '.car', function() {
$(this).datetimepicker();
});
如何在这个代码段中实现。每个部分
提前谢谢。试试这个:您不需要迭代然后将datepicker应用到元素。只需调用datetimepicker()
,如下所示
$('#cars .car').datetimepicker();
编辑-要在动态生成的元素上添加datetimpicker,请在添加动态生成的元素时附加它
例如,我在单击按钮时添加元素。我需要同时添加datetimepicker。请参阅下面的代码和JSFIDLE演示
$(function(){
//add datetimepicker for existing elements
$('#cars .car').datepicker();
//add datetimepicker for dynamically added elements when adding it
$('#clickMe').click(function(){
var newElement = $('<input type="text" name="car_added[]" class="car" />');
//add datepicker here
newElement.datepicker();
$('#cars').append(newElement);
});
});
$(函数(){
//为现有元素添加datetimepicker
$('#cars.car').datepicker();
//添加时为动态添加的元素添加datetimepicker
$('#clickMe')。单击(函数(){
var newElement=$('');
//在此处添加日期选择器
newElement.datepicker();
$('#cars')。追加(新元素);
});
});
注意-OP使用了日期时间选择器
,但请注意我使用了日期选择器而不是日期时间选择器。是-我单击“添加新车”,然后将显示一个输入。单击输入后,我想显示datepicker
小部件。不需要在第二个样本中包含每个部分,但这种方法不适用于新添加的元素。@user984621..试试我的answer@user984621请检查我的编辑。请注意,我使用了datepicker而不是datetimepicker
$(function(){
//add datetimepicker for existing elements
$('#cars .car').datepicker();
//add datetimepicker for dynamically added elements when adding it
$('#clickMe').click(function(){
var newElement = $('<input type="text" name="car_added[]" class="car" />');
//add datepicker here
newElement.datepicker();
$('#cars').append(newElement);
});
});