【发布时间】:2019-08-03 08:07:41
【问题描述】:
$(document).ready(function() {
$("form").submit(function(e) {
e.preventDefault();
for (var i=1;i<=($("input[name=number]").val());i++) {
$("<label/>").attr({ class: 'label',id: 'lb'+i}).text(' Payment Date').appendTo("#pays");
$("<input/>").attr({ type: 'text', id: 'paymentNo-'+(i), class: 'date input', name: 'payD[]', required: 'true' }).appendTo("#pays");
}
$(".date").each(function() {
$(this).datepicker({
onSelect: function(date) {
$(this).parent().find(".date").datepicker({
defaultDate: date,
changeMonth: true,
changeYear: true
});
}
});
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script
src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
crossorigin="anonymous"></script>
<form>
<div id="pays">
<label> How many? </label>
<input type="text" name="number" id="pnumber">
<button type="submit">Submit</button>
</div>
</form>
我正在根据用户输入动态生成输入字段并在它们上初始化日期选择器。此外,我试图在动态生成的字段中将默认日期设置为先前选择的日期。问题是,如果我使用代码中指定的选项初始化 datepicker,默认日期不会转到先前选择的日期,但当前日期也更改月份和年份不起作用。但是如果我在初始化后给出选项,比如
$(this).parent().find(".date").datepicker('option', 'defaultDate', date);
一切都按预期进行。
请有人告诉我为什么 datepicker 会这样工作。
【问题讨论】:
标签: jquery jquery-ui jquery-ui-datepicker