我的datepicker设置如下
$("#scheduled_date_163").datepicker({
onSelect: function(dateText, inst) {
jQuery.get("/tasks/inplace_edit?id=scheduled_date_163&class_name=Task&value=" + dateText, function(data){
$('#scheduled_date_163').html(data);
$('#scheduled_date_163').removeClass('hasDatepicker');
})
}
});
$('#scheduled_date_163').datepicker( "option", "defaultDate", $.datepicker.parseDate("d m y", "31 8 2009") );
如您所见,日期是硬编码的。应该用一些代码替换它。但是,datepicker拒绝选择日期!它总是显示当前日期。无法弄清楚原因。我甚至尝试用字符串和+7
等给出日期。但今天的日期本身显示为默认日期。
导致这种情况的原因是什么?
更新
scheduled_date_163元素不是文本字段。它是一个div.On点击上面写的datepicker javascript执行。
<div id="scheduled_date_163">
<p class='date'>None</p>
</div>
div ID无法在页面上重复出现。
答案 0 :(得分:2)
这对我有用:
$('#scheduled_date_163').datepicker({defaultDate: $.datepicker.parseDate("d m y", "31 8 2009")});
但是,这只是在日期选择器本身中设置默认日期,它不会改变输入字段。对于后者,您可以使用val()方法简单地赋值。
(onSelect
部分看起来与问题无关。)
答案 1 :(得分:2)
DEMO: http://jsbin.com/uqevo3/2/edit
$("#scheduled_date_163").datepicker({
defaultDate: "31-8-2009", //OR $.datepicker.parseDate("dd mm yy", "31 8 2009")
dateFormat: 'dd-mm-yy', // format as ##-##-####
onSelect: function(dateText, inst) {
jQuery.get("/../" + dateText, function(data){
$('#scheduled_date_163').html(data);
$('#scheduled_date_163').removeClass('hasDatepicker');
})
}
});
注意:无需声明两次相同的datepicker,这是您的主要问题!
然后,如果您需要为多个日期选择器设置一些常量选项,您可能需要使用 效用函数.setDefaults()