2013-10-21 44 views
0

我有一个事件日历,需要添加事件日的链接,我使用日期选择器jQuery UI。在datepicker日期中添加链接

有没有人知道一种方法来获得当天的指数?

我的代码:

$.ajax({ 
      url: "includes/ajax/datepicker_events.php", 
      data: "action=showdates", 
      dataType: "json", 
      success: function(calendarEvents){ 
       $("#datepicker").datepicker({ 
        numberOfMonths: [1, 1], 
        showCurrentAtPos: 0, 
        beforeShowDay: function (date){ 
         for (i = 0; i < calendarEvents.length; i++) { 
          if (date.getMonth() == calendarEvents[i][0] - 1 
           && date.getDate() == calendarEvents[i][1] 
           && date.getFullYear() == calendarEvents[i][2]) { 

           return [false,"ui-state-active",calendarEvents[i][3]]; 
           } 
         } 
         return [true, ""]; 
        } 
       }); 
      } 
     }); 

回答

1

我会用ONSELECT当这些日期被拾取开辟一个新的链接。

JSFiddle

var calendarEvents = [[10,22,2013],[10,24,2013]]; 
var calendarHref = ["https://stackoverflow.com","https://google.com"]; 

$("#datepicker1").datepicker({ 
    numberOfMonths: [1, 1], 
    showCurrentAtPos: 0, 
    beforeShowDay: function (date) { 
     for (i = 0; i < calendarEvents.length; i++) { 
      if (date.getMonth() == calendarEvents[i][0] - 1 && date.getDate() == calendarEvents[i][1] && date.getFullYear() == calendarEvents[i][2]) { 

       return [true, "ui-state-active", calendarEvents[i][3]]; 
      } 
     } 
     return [true, ""]; 
    }, 
    onSelect: function(dateText, inst) { 
     for (i = 0; i < calendarEvents.length; i++) { 
      if (inst.selectedMonth == calendarEvents[i][0] - 1 && inst.selectedDay == (""+ calendarEvents[i][1]) && inst.selectedYear == calendarEvents[i][2]) { 
       window.open(
        calendarHref[i], 
        '_blank' 
       ); 
      } 
     } 
    } 
}); 
+0

非常好,非常感谢大家! –