Javascript 手动触发日期选择器onselect事件

Javascript 手动触发日期选择器onselect事件,javascript,jquery,jquery-ui,datepicker,Javascript,Jquery,Jquery Ui,Datepicker,谁能告诉我如何触发datepicker的onselect事件?我的代码运行良好(根据datepickers altfield的值从数据库中提取一些数据),但当页面加载时,它不会在当前日期触发onselect事件,也不会显示任何内容;所以我想手动完成 <script> $( "#datepicker" ).datepicker ( { altField: '#sheet', onSelect: function load

谁能告诉我如何触发datepicker的onselect事件?我的代码运行良好(根据datepickers altfield的值从数据库中提取一些数据),但当页面加载时,它不会在当前日期触发onselect事件,也不会显示任何内容;所以我想手动完成

<script>
     $( "#datepicker" ).datepicker
    (
    {
          altField: '#sheet',
          onSelect: function load() {
            $(document).ready(function() {
                    $.ajax({
                    type: 'POST',
                    url: 'test.php',
                    data: {sheetid: $('#sheet').val()},
                    success: function(data)
                    {
                        $("#content").html(data);
                    }
                });

        });
        },
          firstDay: 1});
    </script>

$(“#日期选择器”)。日期选择器
(
{
altField:“#表”,
onSelect:函数加载(){
$(文档).ready(函数(){
$.ajax({
键入:“POST”,
url:'test.php',
数据:{sheetid:$('#sheet').val()},
成功:功能(数据)
{
$(“#content”).html(数据);
}
});
});
},
第一天:1});

您可以在设置日期后立即触发日期选择器上的
单击

代码:


演示:

我从datepicker.js文件的源代码中获取了这个。请注意,
这个
应该替换为您的输入元素(而不是jquery对象,即实际的dom元素)。在我的情况下,我是从一个按键事件中调用这个

// this is SUCH a hack.  We need to call onselect to call any
// specific validation on this input.  I stole this from the datepicker source code.
var inst = $.datepicker._getInst(this),
onSelect = $.datepicker._get(inst, "onSelect");
if (onSelect) {
    dateStr = $.datepicker._formatDate(inst);
    onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
}
最佳解决方案

var inst = $.datepicker._getInst($("#date")[0]);
$.datepicker._get(inst, 'onSelect').apply(inst.input[0], [$("#date").datepicker('getDate'), inst]);

这是我发现的唯一一个同样适用于datetimepicker的解决方案

var$calendar=$('#from');

$.datepicker.\u getInst($calendar[0]).settings.onSelect()//或onClose或任何事件
尝试在
正文
onload
函数或
$(document).ready()
使用
$('.\datepicker')。单击()未捕获此日期选择器缺少的实例数据
。有人知道为什么会这样吗?@ManojShrestha你能提供一个样本吗?@IrvinDominin是否可以使用onSelect中的属性,比如altField:“#Date”,
var inst = $.datepicker._getInst($("#date")[0]);
$.datepicker._get(inst, 'onSelect').apply(inst.input[0], [$("#date").datepicker('getDate'), inst]);