Bonjour, j’utilise ce code avec succès dans mon test:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
<link href="jquery-ui.css" rel="stylesheet">
<script src="jquery-1.10.2.js"></script>
<script src="jquery-ui.js"></script>
<script src="lang/datepicker-fr.js"></script>
</head>
Start:
<input id="debut_vacance"/>
End:
<input id="fin_vacance" />
<hr />Result:
<input id="vacance" />
<script>
var startDate, endDate, dateRange = [];
$("#debut_vacance").datepicker({
dateFormat : 'dd/mm/yy',
onSelect: function (date) {
startDate = $(this).datepicker("getDate");
}
});
$("#fin_vacance").datepicker({
dateFormat : 'dd/mm/yy',
onSelect: function (date) {
endDate = $(this).datepicker("getDate");
for (var d = new Date(startDate);
d <= new Date(endDate);
d.setDate(d.getDate() + 1)) {
dateRange.push($.datepicker.formatDate('dd/mm/yy', d));
}
}
});
$("#debut_vacance, #fin_vacance").datepicker("setDate", new Date());
$('#vacance').datepicker({
beforeShowDay: function (date) {
var dateString = jQuery.datepicker.formatDate('dd/mm/yy', date);
console.log(dateString);
var day = date.getDay();
const test = [dateRange.indexOf(dateString) == -1 && (day > 0 && day < 6), ""];
return test
}
});
</script>
je voudrais mettre deux variable PHP pour startDate et endDate je fais donc ceci :
<?php
$debut = "10/04/2023";
$fin = "18/04/2023";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
<link href="jquery-ui.css" rel="stylesheet">
<script src="jquery-1.10.2.js"></script>
<script src="jquery-ui.js"></script>
<script src="lang/datepicker-fr.js"></script>
</head>
Result:
<input id="vacance" />
<script>
var startDate, endDate, dateRange = [];
$("#debut_vacance").datepicker({
dateFormat : 'dd/mm/yy',
onSelect: function (date) {
startDate = <?= $debut; ?>;
}
});
$("#fin_vacance").datepicker({
dateFormat : 'dd/mm/yy',
onSelect: function (date) {
endDate = <?= $fin; ?>;
for (var d = new Date(startDate);
d <= new Date(endDate);
d.setDate(d.getDate() + 1)) {
dateRange.push($.datepicker.formatDate('dd/mm/yy', d));
}
}
});
$("#debut_vacance, #fin_vacance").datepicker("setDate", new Date());
$('#vacance').datepicker({
beforeShowDay: function (date) {
var dateString = jQuery.datepicker.formatDate('dd/mm/yy', date);
console.log(dateString);
var day = date.getDay();
const test = [dateRange.indexOf(dateString) == -1 && (day > 0 && day < 6), ""];
return test
}
});
</script>
Mais cela ne fonctionne pas, auriez vous une idée?