多个jquery datepickers中的默认日期

时间:2012-08-08 19:04:48

标签: jquery jquery-ui jquery-ui-datepicker

我有几个输入共享一个类“日期”,每个输入从DB获取它的值并转换为这样的日期选择器:

$(".date").datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
});

我需要的是,当我点击任何输入并显示日期选择器时,该特定日期选择器的默认日期是存储在值中的日期,而不是今天的日期。

我该怎么做?

我尝试了以下内容但没有成功

$(".date").datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy",
    defaultDate: $(this).val()
});

2 个答案:

答案 0 :(得分:3)

你可能会过度思考这个问题。看看这个fiddle。单击每个输入并查看默认日期是输入值。

<强> HTML

<input type="text" class="date" value="02/05/2012" />
<input type="text" class="date" value="06/09/2015" />​

<强> JS

$(function(){
    $(".date").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "dd/mm/yy"
    }); 
});​

答案 1 :(得分:0)

试试这段代码:

$(".date").datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
}).on( "change", function() {
    $(".date").datepicker("option", "defaultDate", this.value);
});

这会在输入更改时进行侦听,并更新所有datepicker字段的defaultDate设置。请注意,您可能需要一个不同的事件(除了更改),具体取决于您操作输入的方式。此外,当前日期值将始终覆盖默认日期(因此我的代码不适用于wanovak的示例,因为字段中已包含值)。