简体   繁体   English

单击链接时显示DatePicker?

[英]Show DatePicker when link is clicked?

I have a link and I would like to show a date picker when I click it: 我有一个链接,当我单击它时想显示一个日期选择器:

$('body').on("click", ".date-link", function (e) {
    /*
    $("#daterange").dialog("option", "position",
           {
               my: "left top",
               at: "left bottom",
               of: e,
           });

    $("#daterange").dialog('open');
    */

    $(e).datepicker({
        beforeShowDay: $.datepicker.noWeekends,
        onSelect: function (dateText) {
            changeCalendarDate(dateText);
        },
        onClose: function (dateText) {
        }
    });

    $("#filter").dialog('close');
});

I would also like it to auto close when any document element is clicked unless the user chooses a date wherein it will autoclose. 我还希望单击任何文档元素时自动关闭,除非用户选择自动关闭的日期。

Thanks 谢谢

You can set up your datepicker instance outside of the click handler. 您可以在点击处理程序之外设置datepicker实例。 Then when the link is clicked, just call .datepicker('show') on the element where the datepicker was set up. 然后,当单击链接时,只需在设置日期选择器的元素上调用.datepicker('show')

Here is a simplified example: 这是一个简化的示例:

HTML 的HTML

<input id="date" />
<a href="#" class="date-link">Date Link</a>

JS JS

$("#date").datepicker({
    beforeShowDay: $.datepicker.noWeekends,
    onSelect: function (dateText) {
        changeCalendarDate(dateText);
    }
});

$('.date-link').on('click', function(e) {
    // Do not follow link
    e.preventDefault();
    // Show the datepicker
    $('#date').datepicker('show');
});

function changeCalendarDate(dateText) {
    // Process date
    console.log(dateText);
}

DEMO 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM