-1

我想在日期选择器上启用这些日期。我对此很陌生。如何启用从数据库获取的日期到此功能?

这是我的代码:

<script>

jQuery(function(){

    //var enableDays = ["2020-08-02","2020-08-03","2020-08-04"];

    var enableDays=["' . implode('", "', $dates) . '"];


    function enableAllTheseDays(date) {
        var sdate = $.datepicker.formatDate( 'yy-mm-dd', date)
        if($.inArray(sdate, enableDays) != -1) {
            return [true];
        }
        return [false];
    }

    $('#datepicker').datepicker({dateFormat: 'yy-mm-dd', beforeShowDay: enableAllTheseDays});
})

</script>

当我var enableDays = ["2020-08-02","2020-08-03","2020-08-04"]以这种格式手动给出日期时,它可以正常工作(正如我在上面评论的那样)。

但我想做的是从数据库中获取可用日期并在我的日期选择器上启用这些日期。

我以这种格式从数据库中获取可用日期。

$dates=Array ( [0] => 2020-08-02 [1] => 2020-08-03 [2] => 2020-08-04 )

在我使用 ( var enableDays=["' . implode('", "', $dates) . '"]) 将上述索引数组格式转换为这种方括号格式后,它在所有日期都不可用。

4

1 回答 1

1

这个问题缺少“中间”代码。所以它来自你的 MySQL 使用 php 正确吗?你想让 php 数组转到 JavaScript 变量吗?

<?php
    
    // This is the input array... You did not explain, where it comes.. but here it is now:
    $dates = array(
        0 => '2020-08-02',
        1 => '2020-08-03',
        2 => '2020-08-04',
    );
    
    // Prints out as JavaScript dates variable, and implodes the php array with commas and "" around them
    echo '<script>var dates=' . json_encode($dates) . '</script>';
?>

输出:

<script>var dates=["2020-08-02", "2020-08-03", "2020-08-04"] </script>
于 2020-08-01T19:42:37.730 回答