Ich verwende Pickadate.js und JQuery Form Plugin. Ich habe Datum und Zeit Picker separat. Was ich tun möchte, ist Zeiten in Zeitpicker nach Wert von Datepicker zu deaktivieren. Also versuche ich, die JSON-Daten in picker.set("disable", [ ]);
zu bekommen. Ich kann den Klartext trösten, aber er bleibt ziellos.Aktualisierung Pickadate Eingabe über Ajax
Ich habe viel versucht und bin auf these solutions gestoßen. Aber ich konnte sie nicht starten. (I angepasst pickadate Funktionen und Klassen zu pickatime des.)
// Javascript
$(document).ready(function() {
$("input").click(function() {
$(".datepicker").pickadate({
format: 'yyyy-mm-dd',
formatSubmit: 'yyyy-mm-dd',
min: true,
max: false
});
var $input = $(".timepicker").pickatime({
format: 'HH:i',
formatSubmit: 'HH:i',
formatLabel: 'HH:i'
});
$('.datepicker').change(function() {
$('#form').ajaxSubmit({
target: '#check_result',
url: 'check.php',
success: function showResponse(responseText, $form) {
var picker = $input.pickatime('picker');
picker.set("disable", [
console.log(responseText)
]);
}
});
return false;
});
});
});
// PHP (check.php)
<?php
require ('connect.php');
$date = mysql_real_escape_string($_POST['date']);
$match_query = mysql_query("SELECT * FROM booking where DATE(time)='$date'");
$disabled_times = array();
if ($result = $match_query) {
\t /* fetch associative array */
\t while ($row = mysql_fetch_assoc($result)) {
\t \t setlocale(LC_ALL,"tr_TR.UTF-8");
\t \t $row['time'] = date('H:i', strtotime($row['time']));
\t \t $row['time'] = str_replace(':', ',', $row['time']);
\t \t $disabled_times[] = '['.$row['time'].']';
\t }
\t /* free result set */
\t mysql_free_result($result);
}
echo implode($disabled_times);
?>
Danke. In meiner Methode gibt console.log (responseText) '[" [4,30] "," [9,0] "]' genau zurück. Und in Ihrem console.log (json) gibt '' ["4,30", "9,0"] 'zurück. Ich weiß, dass meine Codes einen String-Wert generieren und es wird nicht für mich arbeiten. Ich bin auf der Suche nach dem richtigen Weg, Json zu übergeben. – Melih
Ich sehe ... lassen Sie uns eine neue Lösung versuchen, überprüfen Sie mein Update. –
Gute Arbeit! Braucht nur ein paar Korrekturen ... 'var json = JSON.parse (responseText); picker.set ("enable", true); picker.set ("disable", json); ' – Melih