Jquery Datepicker未选择默认日期

时间:2010-04-26 07:11:58

标签: jquery jquery-ui datepicker

我的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无法在页面上重复出现。

2 个答案:

答案 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()