【发布时间】:2021-06-25 04:23:11
【问题描述】:
已经在这里看了几天,但我不确定我的问题是什么。我有这个 php 代码可以从我的数据库中获取日期
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$php_array_dates = date('m/d/Y',strtotime($row["date_date"]));/*Changes date to 23/03/2021*/
$for_JS_date = "eventDates[ new Date("." '".$php_array_dates."' ".")] = new Date("." '".$php_array_dates."' ".");<BR>";
//$formatted_JS_date = trim($formatted_JS_date, '"');
echo $for_JS_date;
}
}
echo $for_JS_date; 输出(看起来很完美),这只是为了让我可以看到正在生成的内容。
eventDates[ new Date( '03/31/2021' )] = new Date( '03/31/2021' );
eventDates[ new Date( '03/29/2021' )] = new Date( '03/29/2021' );
eventDates[ new Date( '03/30/2021' )] = new Date( '03/30/2021' );
现在,当我将 php 变量 $for_JS_date 添加到 jquery 日期选择器时,它会破坏 javascript,即使它是我需要的 identicle 格式。事实上,如果我手动编写由 php 变量生成的日期,它就可以正常工作。这可能是我正在做的愚蠢的事情,但我不知所措。下面是日期选择器代码。
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
<style>
.event a {
background-color: #5FBA7D !important;
color: #ffffff !important;
}
</style>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<script>
$( function() {
// An array of dates
var eventDates = {};
/*eventDates[ new Date( '03/31/2021' )] = new Date( '03/31/2021' );
eventDates[ new Date( '03/29/2021' )] = new Date( '03/29/2021' );
eventDates[ new Date( '03/30/2021' )] = new Date( '03/30/2021' );*/
<?php echo $for_JS_date; ?>
// datepicker
$('#datepicker').datepicker({
/*###START### MONTH & YEAR MENUS ###START###*/
changeMonth: true,
changeYear: true,
/*###END### MONTH & YEAR MENUS ###END###*/
beforeShowDay: function( date ) {
var highlight = eventDates[date];
if( highlight ) {
return [true, "event", 'Tooltip text'];
} else {
return [true, '', ''];
}
}
});
});
</script>
【问题讨论】:
-
在第一个 sn-p 中,您似乎正在执行
echo $for_JS_date;inside 循环,因此每一行都有一个;在你的第二个中,只剩下一个<?php echo $for_JS_date; ?>。那应该怎么搭配呢?循环去哪儿了?您是否对其进行了任何更改,以便它现在将值累积到这个单个字符串变量中,而不是单独回显它们? -
感谢您的回答。我不太确定你在说什么,但下面的 Saud 解决了它。 php 循环正在产生我需要的东西,但这是我在 JS 日期选择器中通过包含
而不是将其与 .= 连接来复制它的方式
标签: javascript php jquery mysql