我有一个日期选择器,我想使用select元素从今天起为6,12,24或60个月设置defaultDate参数。
我遇到了麻烦,我使用select元素更改了所选选项,其中select元素的值在DOM中没有更新,因此datepicker使用随页面加载的选定值。
我在这里http://jsfiddle.net/GLsTM/1/做了一个小提琴,所以你可以看到我指的是什么。
<form>
<select name="Interval" id="Interval">
<option value="6">6 Months</option>
<option value="12">12 Months</option>
<option value="24">2 Years</option>
<option value="60">5 Years</option>
</select>
<input type="text" class="date" placeholder="dd/mm/yyyy"></input>
$(".date").datepicker({
dateFormat: 'dd/mm/yyyy',
showOn: 'button',
firstDay: 1,
defaultDate: "+"+$("#Interval").val()+"m"
});
datepicker的默认日期为“+ 6m”但如果将select更改为12个月,则datepicker仍会使用6个月。我希望它用defaultDate更新datepicker:'+ 12m'
任何人都可以看到是什么让这项工作?
由于 格雷格
答案 0 :(得分:2)
如果您告知日期选择器要更改,则更改select
的值只会影响日期选择器。否则,它将永远不会知道更改,因为您使用起始值设置了一次。
$("#Interval").on("change", function() {
$(".date").datepicker("option", "defaultDate", "+" + $(this).val() + "m");
});
或者,您可以传递一个对象,以便您需要发送多个option
值:
$("#Interval").on("change", function() {
$(".date").datepicker("option", { defaultDate: "+" + $(this).val() + "m" });
});