我可以将onSelect jQuery UI DatePicker事件与内联日期选择器一起使用吗?

时间:2011-04-03 16:38:36

标签: jquery ajax jquery-ui datepicker onselect

我正在尝试将jQuery UI datepicker用作内联日历。用户单击日历上的日期,并运行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
});

datepicker初始化正常。它出现并按预期运行,但无论我尝试什么(我花了几个小时查找可能的解决方案),我都无法显示出警报。我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

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

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

编辑:使用live()可能是必要的;根据{{​​3}}匹配选择器应为:

$('.ui-state-default')

答案 1 :(得分:1)

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

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

非常感谢EmCo的解决方案,并对他的意见感到不满。