我正在使用 ajax 并返回来自我的数据库的 json 数据。
{"id":"2","Day":"Monday","Open_hour":"15:00","Closed_hour":"22:00"}
我的ajax调用如下。 #add_r_date 它是我的下拉选择框的 id。
$(document).ready(function(){
$("#add_r_date").change(function() {
var id = $(this).find(":selected").val();
var dataString = 'Dateid='+ id;
$.ajax({
url: 'getTimeslots.php',
type: "POST",
dataType: "json",
data: dataString,
cache: false,
success: function(empData) {
if(empData) {
$("#errorMessage").addClass('hidden').text("");
$("#recordListing").removeClass('hidden');
$("#selDay").text(empData.Day);
$("#openHour").text(empData.Open_hour);
$("#closedHour").text(empData.Closed_hour);
} else {
$("#recordListing").addClass('hidden');
$("#errorMassage").removeClass('hidden').text("No record found!");
}
}
});
})
});
数据从 getTimeslots.php 返回正常,如下 html 所示。
<div id="selDay"></div>
<div id="openHour"></div>
<div id="closedHour"></div>
gettimeSlots.php 适用于 javascript,如下所示
<?php
include ('db.php');
if($_REQUEST['Dateid']) {
$findDay = $_REQUEST['Dateid'];
$newDate = date("l", strtotime($findDay));
$sql = "SELECT id,Day,Open_hour,Closed_hour
FROM check_availability
WHERE Day='".$newDate."'";
$resultSet = mysqli_query($con, $sql);
$empData = array();
while( $emp = mysqli_fetch_assoc($resultSet) ) {
$empData = $emp;
}
//echo $newDate;
//print_r($empData);
//echo $sql;
echo json_encode($empData);
} else {
echo 0;
}
?>
但是我想从 php 变量的下拉列表中获取选择,这样我就可以在我的函数上使用,比如 if(selectedDay === $selDay) { do something} .. 所以每次我使用下拉列表并从数据库中获取正确的值时 $selDay 应该改变。基本上它检查当天是否是星期日得到正确的开放时间,关闭时间并获取日期名称。任何帮助表示赞赏。提前致谢。
我尝试解码 json。我尝试在 foreach 循环中使用 json 作为数组,但没有任何效果。我不知道如何在下拉选择后获取 php 变量中的返回值。