JQueryUI使用select元素值设置datepicker默认日期

时间:2013-04-06 02:16:06

标签: jquery-ui select datepicker

我有一个日期选择器,我想使用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'

任何人都可以看到是什么让这项工作?

由于 格雷格

1 个答案:

答案 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" });
});