jQuery datepicker,2个问题

时间:2010-11-01 19:17:46

标签: jquery jquery-ui datepicker

对于第一个问题,我有这个功能:

$(function() {
  $('#datepicker').datepicker({
       onSelect: function () {
           $('#date').text($(this).val());
       },
       onChangeMonthYear: function () {
           $('#date').text($(this).val());
      }
  });
});

onSelect有效,但onChangeMonthYear没有。我使用它错了吗?

第二个问题是,一旦我将月份更改发挥作用,我该如何分割日期以便将其放入“myfile.php?y = 2010& m = 11& d = 01”这样的网址中。我有一个主要的PHP背景,所以爆炸字符串是诱人的,但我相信这是一个更好的方法。对此的想法?

2 个答案:

答案 0 :(得分:1)

根据onChangeMonthYear $('.selector').datepicker({ onChangeMonthYear: function(year, month, inst) { ... } }); 年份,月份和日期选择器实例作为参数发送:

  

功能(年,月,inst)

     

允许您在datepicker移动到新的月份和/或年份时定义自己的事件。该函数接收选定的年份,月份(1-12)和datepicker实例作为参数。这指的是相关的输入字段。

所以尝试使用它:

getDate

<小时/> 关于第二个问题,您可以使用var myDate = jQuery(myDatePicker).datepicker( 'getDate' ); API方法将日期提取到日期对象中:

var url = "y=" + myDate.getFullYear() +
         "&m=" + myDate.getMonth() + 
         "&d=" + myDate.getDate();

然后您可以使用documentation来提取日期部分。例如:

{{1}}

答案 1 :(得分:0)

我用onChangeMonthYear找出了自己的问题。我的方式是每次调用onSelect以及当月变化时调用onChangeMonthYear。我重新安排了它,似乎工作正常。以下是最终结果,包括贾斯汀的回复,以及一个删除他答案的人:

$(function() {
   $('#datepicker').datepicker({
     onChangeMonthYear: function () {
         $('#date').text("Changed Month");
     },
     onSelect: function () {
         var date = $(this).val().split("/")
         $('#date').text("Month: " + date[0] + " Day: " + date[1] + " Year: " + date[2]);
     }
  });
});