问题是,当我单击“添加按钮” 时,添加了新的datepicker 字段,默认显示当前日期以及何时我手动更改日期并单击添加按钮,然后它将重置所有日期选择器中的默认值。
我的代码如下:
<div class="form-group row">
<label for="example-date-input" class="col-2 col-form-label" style="margin-left:28.5%;">DATE</label>
<div class="col-10">
<input class="form-control datepicker pick" id="date[]" name="date[]" value="<?php echo $_POST['date'] ?>" style="" type="text" readonly>
</div>
</div>
<div class="form-group">
<div class="col-md-8 col-sm-12 col-24">
<div class="input_fields" style="color:black">
<button class="add_field btn " onclick="incrementValue()" style="">Add More</button>
<div>
<input type="text" name="mytextt[]" hidden="" ></div>
</div>
</div>
</div>
脚本:
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields"); //Fields wrapper
var add_button = $(".add_field"); //Add button ID
var wrapper_pre1 = $(".present_fields_1"); //Fields wrapper
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).prepend('<div class="form-group row"><label for="example-date-input" class="col-2 col-form-label date">DATE</label><div class="col-10 col"><input class="form-control datepicker pick" id="date[]" name="date[]" style="" type="text"></div></div>');$( ".datepicker.pick" ).datepick({dateFormat: 'dd/mm/yyyy'}).datepick("setDate", "0");}});});
最佳答案
因此,根据您的要求,通过将计数或某些变量附加到 ID 来为每个字段(输入框)创建唯一 ID。并使用不使用类的 ID 创建您的 JS。所以不会影响其他输入框。
像这样的东西,也可以看到盒子的 ID 和日期选择器方法
$(wrapper).prepend('<div class="form-group row"><label for="example-date-input" class="col-2 col-form-label date">DATE</label><div class="col-10 col"><input class="form-control datepicker pick" id="date_'+x+'" name="date[]" style="" type="text"></div></div>');$( "#date_"+x ).datepick({dateFormat: 'dd/mm/yyyy'}).datepick("setDate", "0");}});});
请注意 ID 实现。
重要提示:请查看使用类和 ID 之间的区别。
关于javascript - 当我点击添加更多按钮时,新的日期选择器字段被添加,以前的日期选择器值被重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43189373/