0

我正在为我的一个项目使用 jQuery datepicker,它工作得很好,除了我无法更改元素 onSelect 内的日期。

我的代码如下:

$("#datepicker").datepicker({
   dateFormat: "d MM yy",
   onSelect: function(dateText) 
   { 
       var url = "/schedule_backend.php";
       var league = $('#compose').val();
       var data = "date="+ dateText +"&league="+ league;
       var myDate = new Date(dateText);
       var newFormat = $.format.date('dd M yy', myDate);                

       alert(newFormat);

       $("#kind").text(myDate);

   $('.schedule_block').load(url, data);                

   document.title = 'Sportannica - Schedule for '+ newFormat;           
  }
});

当我选择一个日期时,没有任何警报。关于如何正确格式化日期的任何想法?

谢谢,

4

2 回答 2

1

看起来问题出在你的格式化程序上……你用的是什么?这是一个jsfiddle,显示正在调用该函数,并且日期是正确的,但是您的格式化程序正在取消它。

$("#datepicker").datepicker({
  dateFormat: "d MM yy",
  onSelect: function(dateText)
  {
    var myDate = new Date(dateText);
    //var newFormat = $.format.date('dd M yy', myDate);
    var newFormat = myDate.toString();
    alert(newFormat);
  }
});
于 2013-01-10T22:09:28.573 回答
0

jQuery 默认不格式化日期。您将需要下载并使用插件。但是,手动完成并不难。

$("#datepicker").datepicker({
dateFormat: "d MM yy",
onSelect: function(dateText) 
{ 
   var url = "/schedule_backend.php";
   var league = $('#compose').val();
   var data = "date="+ dateText +"&league="+ league;
   var d = new Date(dateText);

   var weekday=new Array(7);
   weekday[0]="Sunday";
   weekday[1]="Monday";
   weekday[2]="Tuesday";
   weekday[3]="Wednesday";
   weekday[4]="Thursday";
   weekday[5]="Friday";
   weekday[6]="Saturday";

   var month=new Array();
   month[0]="January";
   month[1]="February";
   month[2]="March";
   month[3]="April";
   month[4]="May";
   month[5]="June";
   month[6]="July";
   month[7]="August";
   month[8]="September";
   month[9]="October";
   month[10]="November";
   month[11]="December";

   var newFormat = weekday[d.getDay()] + ", " + month[d.getMonth()] + " " + d.getDate();

   alert(newFormat);
}
});

http://jsfiddle.net/gEdmj/2/embedded/result/

于 2013-01-11T00:15:04.490 回答