将自定义参数添加到jQuery UI Datepicker

我正在寻找一种方法来添加一个参数到jQuery UI Datepicker中的日期。 我正在使用Datepicker来显示课程开始日期。 我需要的参数将是在特定日期开始的课程的ID。

我正在初始化datepicker,如下所示:

$( "#datepicker" ).datepicker({ dateFormat: 'dd-mm-yy', showWeek: true, firstDay: 1, numberOfMonths: 3, beforeShowDay: enableAllTheseDays }); 

函数enableAllTheseDays看起来像这样:

 function enableAllTheseDays(date) { var m = ('0'+parseInt(date.getMonth()+1)).slice(-2), d = ('0'+date.getDate()).slice(-2), iy = date.getFullYear(); for (i = 0; i < enabledDays.length; i++) { if($.inArray((d + '-' + (m) + '-' + y).toString(),enabledDays) != -1) { return [true]; } } return [false]; } 

enabledDays数组包含所有已启用的日期,其余日历已禁用。 另外,我在每个日期添加了一个带有课程ID的数组。

我想我需要在enableAllTheseDays函数中进行更改,但我无法弄清楚如何访问基础日期对象,以便我可以将课程ID作为属性插入到各个启用日期。 这样我可以在选择日期后将课程id作为参数传递给输入字段。

感谢您的任何见解。

inheritance了我对datepicker使用onSelect方法的尝试。

我没有更新基础Date对象,只是在“Result”输入字段中添加了一个新的数据属性。 在选择时,它会搜索名为courses(表示课程ID和日期列表)的对象,以查找所选日期的匹配项。

使用firebug / developer工具检查输入字段以查看data-course-id属性更新。 本月前3天有相关课程……

http://jsfiddle.net/Seandeburca/qbLwD/

 var input = $("#datepicker"); var result = $("#result"); var courses = { "01-09-2013" : "javascript", "02-09-2013" : "history", "03-09-2013" : "biology", "10-09-2013": "physics" }; input.datepicker({ dateFormat: 'dd-mm-yy', showWeek: true, firstDay: 1, numberOfMonths: 3, onSelect: function(dateText, pickerObj){ result.attr("data-course-id", courses[dateText]); course.innerHTML = courses[dateText]; }, altField: "#result" });