0

我正在尝试将 jQuery UI 日期选择器用作内联日历。用户单击日历上的日期,然后运行 ​​AJAX 请求以仅返回所选日期的数据。

例如,我编写的 AJAX 函数在从按钮调用时可以正常工作,但我无法让日期选择器调用它。这个想法是用户单击一个日期,然后调用该函数。我认为这就是 onSelect 事件的用途,但它似乎不起作用。

这是我在日期选择器上使用的代码。

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: alert("Select event worked.") // this will be replaced with the ajax function call
});

日期选择器初始化良好。它显示并按预期运行,但无论我尝试什么(并且我已经花费数小时寻找可能的解决方案),我都无法让警报出现。我错过了什么吗?

4

2 回答 2

1

试试 EmCo 在他的评论中提出的建议。如果它不起作用,您也可以通过编写自己的事件处理程序来“破解”它。您必须找到匹配的选择器以选择日历中的日期,然后将您的事件附加到它们。

$(Matching_day_selector).live('click', function(){
  // do what you need
});

编辑:使用 live() 可能是必要的;根据这个演示匹配选择器应该是:

$('.ui-state-default')
于 2011-04-03T16:49:42.007 回答
1

为了清楚起见,我最终得到的工作代码如下。

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: function(){
         updateTable("datepicker")
    }
});

非常感谢 EmCo 的解决方案,并感谢他的投入。

于 2011-04-03T17:00:19.300 回答