Datepicker onSelect Not Firing

时间:2014-02-13 12:25:03

标签: jquery jquery-ui-datepicker

我有一个日期选择器,但onCloseonSelect不会触发。代码在document.ready,所以我知道它已初始化。

$('#DateRangeTo').datepicker({
    beforeShow: function (input, inst) {
        inst.dpDiv.css({ marginTop: -input.offsetHeight + 'px', marginLeft: input.offsetWidth + 'px' });
    },
    format: "dd/mm/yyyy",
    startView: 1,
    //daysOfWeekDisabled: "3,4",
    autoclose: true,
    todayHighlight: true,
    //onClose: function (dateText, inst) { alert("here"); }
    onSelect: function (dateText, inst)
    {
        alert("Working");
    },
    onClose: function (date) {
        var dt = new Date(date);
        alert(dt.getMonth());
    }
});

3 个答案:

答案 0 :(得分:7)

选择日期时此代码必须有效:

$("#datepicker").datepicker({
dateFormat: 'dd/mm/yy'}).on("changeDate", function (e) {
alert("Working");});

答案 1 :(得分:3)

您使用的某些选项在datepicker中不可用,请参阅http://api.jqueryui.com/datepicker/

此外,您还缺少$(function () {});请参阅以下更新的代码

$(function () {
            $('#DateRangeTo').datepicker({
                beforeShow: function (input, inst) {
                    inst.dpDiv.css({ marginTop: -input.offsetHeight + 'px', marginLeft: input.offsetWidth + 'px' });
                },
                dateFormat: "dd/mm/yyyy",
                //startView: 1,
                //daysOfWeekDisabled: "3,4",
                //autoclose: true,
                //todayHighlight: true,
                //onClose: function (dateText, inst) { alert("here"); }
                onSelect: function (dateText, inst) {
                    alert("Working");
                },
                onClose: function (date) {
                    var dt = new Date(date);
                    alert(dt.getMonth());
                }
            });
        });

如果仍然无效,请检查错误控制台中的javascript错误。

答案 2 :(得分:0)

如果有多个具有相同ID的输入,则datepicker不会触发onSelect。您不应该首先使用具有相同ID的多个元素,但是datepicker将显示并显示正常工作和显示。甚至像onClose这样的其他一些方法也能正常工作,但最终的onSelect不会