【问题标题】:How to disable those dates (in jquery datepicker) which is stored in mysql database?如何禁用存储在 mysql 数据库中的那些日期(在 jquery datepicker 中)?
【发布时间】:2018-07-30 06:21:40
【问题描述】:

我想禁用 mysql 数据库中的那些日期。实际上每次都很难在 javascript 中更改日期,所以我想在 mysql 数据库中添加未来的日期,它会在 mysql 数据库的 jquery datepicker 中显示那些禁用日期。 我正在尝试这段代码,但我很困惑

$(function() {
    $( "#datepicker" ).datepicker({
        dateFormat: 'yy-mm-dd',
        minDate: +1,
    maxDate: "+3m",
        beforeShowDay: checkBadDates
        });

});

dateo = $("#datepicker").attr("value");  //need help here (1)
        $.ajax({
            type: "GET",
            url: "ajaxdates.php",

 data: 'dateone='+mydate,
            success: function(data) {
                $('#result').html(data);
              }
        });


var $myBadDates = new Array("#result", "2018-08-09");  // need help here (2)


function checkBadDates(mydate){             // need help here (3)


var $return=true;
var $returnclass ="available";
$checkdate = $.datepicker.formatDate('yy-mm-dd', mydate);
for(var i = 0; i < $myBadDates.length; i++)
    {    
       if($myBadDates[i] == $checkdate)
          {
        $return = false;
        $returnclass= "unavailable";
        }
    }
return [$return,$returnclass];
}

【问题讨论】:

    标签: javascript php jquery mysqli


    【解决方案1】:

    尝试使用类似这样的想法:有时这可能会对您有所帮助:

    /** Days to be disabled as an array */
    var disableddates = ["31-07-2018", "12-06-2018", "12-08-2018", "22-08-2018"];
    
    
    function checkBadDates(date) {
      var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
      return [disableddates.indexOf(string) == -1];
    }
    
    $(function() {
      $("#datepicker").datepicker({
        beforeShowDay: checkBadDates
      });
    });
    <link href="http://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>
    
    <input id="datepicker" type="text">

    如果您能够设置 ajax 代码以从数据库中提取日期以禁用,那么:

    var disableddates = [];
    $.ajax({
       type: "GET",
       url: "my_ajax_stuff.php" ,
       async: false, // Please add this line
       success: function(response) {
           disableddates = ["31-07-2018", "12-06-2018", "12-08-2018", "22-08-2018"]; // this will be list of disabled dates from db
           $("#datepicker").datepicker({
              beforeShowDay: checkBadDates
           });
       }
    });
    

    【讨论】:

    • 我知道这会起作用,但我不想在 javascript 中添加日期。我想从 mysql 数据库中提取日期。这个 Var disableddates = [ ] 这里我需要拉 mysql 数据库日期。请
    • 使用 ajax add 从 db 获取日期,将其设置为类似的数组,然后重新加载 datepicker。
    • 如何将它添加到类似的数组中。这很令人困惑。请帮忙
    • 你能用ajax获取日期吗?获得的日期可以推送来创建一个类似上面的数组。
    • 是的,我可以。那该怎么办
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2013-06-19
    • 2014-05-04
    • 2011-09-09
    • 1970-01-01
    相关资源
    最近更新 更多