我的jQuery datepicker具有以下代码:

$(document).ready(function() {

    var event = ['14 april 2017', '25 april 2017', '1 april 2017'];

$('#datepicker').datepicker({
      inline: true,
      showOtherMonths: true,
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShowDay: highlightDays,
      onSelect: function(dateText, inst){
        showpopup();
        getdatespan();
            }
    });


function highlightDays(date) {
      for (var i = 0; i < event.length; i++) {
            if (new Date(event[i]).toString() == date.toString()) {
                return [true, 'ui-state-event', ''];
            }
        }
        return [true, ''];
    }
...


我想重点介绍的是变量“事件”,该变量用于为highlightDays函数提供日期。如上所述,该代码可以完美地工作并成功突出显示变量中的日期。但是,这些日期是我自己手动输入的。

以下是我的calendar.php文件中的代码:

$findEventStartdates = $pdo->prepare('SELECT startdate FROM calendar WHERE username=?');

//execute query with variables
$findEventStartdates->execute([$username]);


($eventStartdates = $findEventStartdates->fetchAll(PDO::FETCH_COLUMN));


打印时,显示以下输出:

Array ( [0] => 14 april 2017 [1] => 25 april 2017 [2] => 1 april 2017)

我的问题是如何获取该PDO中输出的任何内容以用作datepicker的变量?

在PHP文件中,我尝试了以下操作:

$highlightEvents = implode("', '",$eventStartdates);

echo <<<_END
 <input type="text" name="eventHighlight" id="eventHighlight" value="'$highlightEvents'">
_END;


由此可见:

'14 april 2017', '25 april 2017', '1 april 2017'

在文本框中,然后尝试使用jQuery:

var event = [$("#eventHighlight").text];


但这没有用。因此,对这种或使用数组的不同方式进行的任何更改将不胜感激。

谢谢。

最佳答案

您可以在php端使用json_encode()将数组直接打印到javascript中的变量中:

var event = <?php echo json_encode($eventStartdates);?>;

关于javascript - 使用数据库中的结果作为jQuery中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43188023/

10-12 00:00
查看更多