javascript - Ajax function to display datepicker with a click button
Get the solution ↓↓↓Solution:
I get what I wanted only that the action or the call is executed once, for example press button 1 (idroom = 1) and the datepicker appears with their respective dates but if I press the button 2 does not call .. I think That is easy to solve, for now and solve what I most wanted in case someone serves you the same post here.
Code with buttons and datepicker
<div class="form-control" style="height: 224px;">
<div type="text" id="datepicker9" name"datepicker9" /></div>
</div>
<?php
include "controlreservas/conexion.php";
$user_id=null;
$sql1= "select h.id_habitacion,h.valor_habitacion,h.obs,
h.id_residencial,r.id_residencial,r.nombre_residencial,
h.id_tipo,t.id_tipo,t.tipo,
h.numero_habitacion,
h.id_tipo,h.tipo_bano,h.estado,h.imagen
from habitaciones as h
inner join residenciales as r ON h.id_residencial=r.id_residencial
inner join tipo_habitacion as t ON h.id_tipo=t.id_tipo order by h.id_habitacion";
$query = $con->query($sql1);
?>
<?php if($query->num_rows>0):?>
<?php while ($r=$query->fetch_array()):?>
<div style="float:left;border-top-width: 5px;margin-right: 5px;margin-bottom: 5px;margin-left: 5px;margin-top: 5px;" >
<button type='submit' id='buttonValue' name='buttonValue' onClick='MCNdetails(this)' value='<?php echo $r["id_habitacion"]?>' class="<?php if ($r["estado"] == 'Abierta') { echo 'btn btn-sm btn-success'; } elseif ($r["estado"] == 'Cerrada') { echo 'btn btn-sm btn-danger'; }?> label-mini">
N°<?php echo $r["numero_habitacion"]; ?> <?php echo $r["nombre_residencial"]; ?><br><?php echo $r["estado"]; ?>
</button>
</div>
<?php endwhile;?>
<?php else:?>
<p class="alert alert-danger">404 No se encuentra</p>
<?php endif;?>
AJAX:
<script>
function MCNdetails(btn) {
var buttonValue = btn.value;
$.ajax({
type:'POST',
url:'GUImostrarcalendario.php',
data:'buttonValue='+buttonValue,
success:function(html){
$("#datepicker9").html(html);
}
});
}
</script>
GUImostrarcalendario:
<?php
include "controlreservas/conexion.php";
$id_habitacion=$_POST["buttonValue"];
$sql1="SELECT llegada,salida,id_reserva FROM reservas where id_habitacion ='$id_habitacion'";
$query = $con->query($sql1);
$dates_ar = [];
if($query->num_rows>0) {
while ($r=$query->fetch_array()) {
$begin = new DateTime( $r["llegada"] );
$end = new DateTime( $r["salida"] );
$end = $end->modify( '+1 day' );
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
foreach ($daterange as $date) {
$dates_ar[] = $date->format("Y-m-d");
}
}
?>
<script>
$(function() {
var disabledDays = <?php echo json_encode($dates_ar)?>;
var date = new Date();
$( "#datepicker9").datepicker({
dateFormat: 'Y-m-d',
beforeShowDay: function(date) {
var m = date.getMonth() + 1,
d = date.getDate(),
y = date.getFullYear(),
strdate = [y,m,d].join('-');
if (disabledDays.indexOf(strdate) == -1) {
return [true, '', ''];
}
return [false];
}
});
});
</script>
<?php
}
else {
?>
<script>
$(function() {
$( "#datepicker9").datepicker({
dateFormat: 'yy-mm-dd',
});
});
</script>
<?php
}
?>
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: use the option --with-all-dependencies (-w) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.