简体   繁体   中英

How to disable closing of datepicker on jQuery UI Datepicker

When i open a datepicker like that:

$("#checkindate,#checkoutdate").datepicker({
    onClose: {
       //I'd like to disable the closing
    }
);

I'd like to prevent the closing of the datepicker dialog depending on a condition. The ideal would be that 'return false' would stop this event.

I tried modifying the source code and there is no trivial solution.

What I want to do is to be able to select the checkout date without reopening another dialog.

Any idea?

I don't think it's possible to pick multiple dates from one datepicker. You probably will need to do something like their date range demo: http://jqueryui.com/demos/datepicker/#date-range

$('#datepicker').blur(function(){
$(this).datepicker('show')
})

open up http://jqueryui.com/demos/datepicker/ and copy the code on the javascript console and see what happens

var selectTask = function(selectedDate, calendar) { // pretends to remain open                         
                     setTimeout(function() {
                        $(selector).datepicker('show'); // don't go away ...
                     }, 0);
                 };
// datepicker instance
$(selector).datepicker({ onSelect:selectTask, duration:0 });

It's an illusion of prevent closing; might reach the goal.

After spending around a day finally got it,

$( "#selector" ).datepicker({
        onSelect: function ( dateText, inst ) {
             this._updateDatepicker(inst);
         }
});

For all code, click here .

In this question: jQuery UI Datepicker - Multiple Date Selections the accepted answer explains how to implement the multiple date selection in one datepicker.

To prevent the datepicker closing after the selection of a date, you can put this in the onClose option:

$(this).data('datepicker').inline = false;

And add this in onSelect option:

$(this).data('datepicker').inline = true;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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