我有几个输入共享一个类“日期”,每个输入从DB获取它的值并转换为这样的日期选择器:
$(".date").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd/mm/yy"
});
我需要的是,当我点击任何输入并显示日期选择器时,该特定日期选择器的默认日期是存储在值中的日期,而不是今天的日期。
我该怎么做?
我尝试了以下内容但没有成功
$(".date").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd/mm/yy",
defaultDate: $(this).val()
});
答案 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的示例,因为字段中已包含值)。