1

我有一个日期选择器,我想使用选择元素将 defaultDate 参数设置为从今天起 6、12、24 或 60 个月。

我遇到了麻烦,我使用选择元素更改选择的选项,其中选择元素的值不会在 DOM 中更新,因此日期选择器使用与页面一起加载的选定值。

我在这里做了一个小提琴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"
    });

日期选择器的默认日期是“+6m”,但如果您将选择更改为 12 个月,日期选择器仍然使用 6 个月。我希望它使用 defaultDate: '+12m' 更新日期选择器

任何人都可以看到什么会使这项工作?

谢谢格雷格

4

1 回答 1

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" });
});
于 2013-04-06T02:21:05.027 回答