我通过get联系了另一个网站,并得到了一个xml的结果来解释。
我是这样联系的:
$v= file_get_contents(
"https://www.v.com/fechasexcursion.php?
agent=M&password=s&fecha1=2018-10-05&fecha2=2018-12-
31&idmodelo=$cifraexcursion");
然后,我解析信息以从xml中获取日期,从而在datepicker中禁用这些日期:
$cifraexcursion = 9;
$xml = new SimpleXMLElement($v);
foreach ($xml->excursion as $tour) {
if ($nameoftour->idmodelo == $cifraexcursion) {
echo "<br>Date ".$nameoftour->date;
然后,我需要将这些日期添加到一个javascript var中,以便在datepicker中使用。下面可以很好地工作,但我不能处理数组$nameoftour->date
<script>
var array = ["2018-10-14","2018-10-15","2018-10-16"];
$('input').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ array.indexOf(string) == -1 ]
}
});
(function() {
$.datepicker.setDefaults({
regional: 'en',
buttonImage: "/images/calendar_blue.png",
buttonImageOnly: true,
firstDay: 1,
})
})();
</script>
更新:打印出4个日期:
echo "<br>Date ".$nameoftour->date;
但是,如果我这样做,试图保存为javascript数组,它可以工作,但我只能得到四个日期中的最后一个日期。
var array=["<?php echo ($nameoftour->date);?>",];
更新:我让它工作了:
$xml = new SimpleXMLElement($viajes);
$tmpArrayFechas = [];
foreach ($xml->excursion as $excursion) {
if ($excursion->idmodelo == $cifraexcursion) {
$tmpArrayFechas[] = $excursion->fecha;
}
}
$tmpArrayFechas = implode(',', $tmpArrayFechas);
?>
<input type="hidden" id="plazasDisponibles"
name="plazasDisponibles"
value="<?php echo $tmpArrayFechas; ?>">
<script>
var arrayDiasDisponibles =
document.querySelector("#plazasDisponibles").value.split(',');
$('input').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ arrayDiasDisponibles.indexOf(string) !== -1 ]
}
});
(function() {
$.datepicker.setDefaults({
regional: 'en',
buttonImage: "/images/calendar_blue.png",
buttonImageOnly: true,
firstDay: 1,
})
})();
</script>
https://stackoverflow.com/questions/52669861
复制相似问题