php - 如何从 mysql 值/内容禁用 jQuery Datepicker

标签 php jquery mysql jquery-ui-datepicker

我目前正在做一个酒店预订网站,我正在尝试学习如何根据数据库中的值禁用 jQuery DatePickers。

例如,日期 3 月 1 日3 月 5 日 被插入到数据库 A checkin 结账行。

因此,现在 checkin 的值为 3 月 1 日结账 的值为 3 月 5 日

假设我有两个 jQuery 日期选择器,一个用于 checkin ,一个用于 checkout 。如何禁用从数据库内的值获取的 3 月 1 日3 月 5 日 日期?

这是我当前的日期选择器脚本:

$(function () {

$("#checkin").datepicker({
    dateFormat: "M-dd-yy",
    minDate: 0,
    onClose: function () {


        var date2 = $('#checkin').datepicker('getDate');
        date2.setDate(date2.getDate() + 1);
        $('#checkout').datepicker('setDate', date2);
        $('#checkout ').datepicker('option', 'minDate', date2);
         datepicked();

      $('#checkout').datepicker('option');



}
});
$('#checkout').datepicker({
    dateFormat: "M-dd-yy",
    minDate: 0,

    onSelect: function () {
        var dt1 = $('#checkin ').datepicker('getDate');
        var dt2 = $('#checkout').datepicker('getDate');
        datepicked();
        //check to prevent a user from entering a date below date of dt1

    if (dt2 <= dt1) {
            var minDate = $('#checkout ').datepicker('option', 'minDate');
            $('#checkout').datepicker('setDate', minDate);


           $('#checkin').datepicker('option');



    }


    }

});


var datepicked = function() {
var checkin = $('#checkin');
var checkout = $('#checkout');
var nights = $('#nights');

    var fromDate = checkin.datepicker('getDate');

    var toDate = checkout.datepicker('getDate');

    if (toDate && fromDate) {

        var oneDay = 1000*60*60*24; 
        var difference = Math.ceil((toDate.getTime() - fromDate.getTime()) / oneDay); 
        nights.val(difference);
        } 
};
 });  
$(function () { 
$("#date").datepicker({
    dateFormat: "dd-M-yy",
    minDate: 0,
    autoclose: true,
    startDate: new Date() 
});
   });   

非常感谢您。

最佳答案

如果您尝试为此输入设置初始值,只需在日期选择器初始化后使用setDate。 在 PHP 中设置输入的 value 属性:

<input id="checkin" value="<?= date('M-dd-yy', $valueFromDbCheckin) ?>">

只需调用setDate:

$( "#checkin" ).datepicker( "setDate", $('checkin').val() );

如果您尝试禁用日期选择器中的某些日期,那么您可能可以尝试以下解决方案:
Disable array of date's Jquery DatePicker

关于php - 如何从 mysql 值/内容禁用 jQuery Datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48965454/

相关文章:

php - 组合两个不同的 select 和 update 语句

php - 用于 php 应用程序的 MySQL 数据库中的 MOCK 数据

javascript - 使图像响应

php - 抓取行)在特定列中具有最高值

mysql - 具有不同条件的表的内连接

php - 从 BLOB 获取部分数据作为十六进制

php - 无法在 nginx 服务器上显示 phpinfo() 调用

jquery - 仅隐藏在固定透明导航栏后面滚动的元素部分

javascript:jQuery replaceWith() 不遵守 delay()

php - 从一张表中选择超过 10,000 次