Jquery ui JQueryUI使用select元素值设置日期选择器默认日期
我有一个日期选择器,我想使用select元素为从今天开始的6个月、12个月、24个月或60个月设置defaultDate参数 我遇到了麻烦,因为我使用select元素更改了selected选项,而select元素的值在DOM中没有更新,所以datepicker使用了与页面一起加载的selected值 我在这里做了一把小提琴,所以你可以看到我指的是什么Jquery ui JQueryUI使用select元素值设置日期选择器默认日期,jquery-ui,select,datepicker,Jquery Ui,Select,Datepicker,我有一个日期选择器,我想使用select元素为从今天开始的6个月、12个月、24个月或60个月设置defaultDate参数 我遇到了麻烦,因为我使用select元素更改了selected选项,而select元素的值在DOM中没有更新,所以datepicker使用了与页面一起加载的selected值 我在这里做了一把小提琴,所以你可以看到我指的是什么 <form> <select name="Interval" id="Interval"> <option
<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>
日期选择器的默认日期为“+6m”,但如果将select更改为12个月,则日期选择器仍使用6个月。我希望它使用defaultDate:“+12m”更新日期选择器
有人能看到是什么让这起作用吗
谢谢
Greg更改
select
的值只会在您告诉日期选择器更改时影响日期选择器。否则,它将永远不会知道更改,因为您使用起始值设置了一次
$("#Interval").on("change", function() {
$(".date").datepicker("option", "defaultDate", "+" + $(this).val() + "m");
});
或者,您可以传递一个对象,以防需要发送多个值:
谢谢,但似乎不起作用。我认为这样做是有道理的,因为它试图更改.date元素上的选项,而不是datepicker函数本身,对吗?在这里用你的建议更新了JSFIDLE。默认值不变。很抱歉,我在
日期选择器
中错误使用了选项
方法。我更新了示例以反映适当的用法。太棒了!非常感谢你的帮助。
$("#Interval").on("change", function() {
$(".date").datepicker("option", "defaultDate", "+" + $(this).val() + "m");
});
$("#Interval").on("change", function() {
$(".date").datepicker("option", { defaultDate: "+" + $(this).val() + "m" });
});