[英]Send value taken from AJAX to another PHP file via AJAX
我有一个MySQL表,其中包含country code
, state
, postcode
, city
等字段。 我想创建一个表单,当用户输入国家代码AU
,状态字段应填充与国家代码相对应的状态。 并且当选择一个状态时,它应仅显示处于所选状态下的邮政编码。 选择邮政编码后,应在城市字段中显示该值的城市。
数据库中的一些行是:
| country | state | postcode | suburb |
+---------+-------+----------+-----------+
| AU | VIC | 3000 | Melbourne |
| AU | NSW | 3006 | Sydney |
所以现在我有了这个AJAX代码,它将数据发送到另一个PHP文件:
function searchq5(){
var searchTxt = $("input[name='ccd']").val();
$.post("search-region.php", {searchVal: searchTxt}, function(state){
$("#state").html(state);
searchq6();
});
}
function searchq6(){
var searchsub = $("input[name='region']").val();
$.post("search-suburb.php", {searchVal: searchsub}, function(sbb){
$("#sbb").html(sbb);
searchq7();
});
}
search-region.php
:
if (isset($_POST['searchVal'])){
$searchq = $_POST['searchVal'];
$query = mysqli_query($link, "SELECT DISTINCT state FROM `wp_locations` WHERE `country` LIKE '%".$searchq."%' ")or die("Could not search!");
$count = mysqli_num_rows($query);
if($count == 0){
$output = '<option>No results!</option>';
}else{
while($row = mysqli_fetch_array($query)){
$state = $row['state'];
?>
<option value="<?php echo $state; ?>"><?php echo $state; ?></option>
<?php
} // while
} // else
}
search-suburb.php
:
if (isset($_POST['searchsub'])){
$searchq = $_POST['searchsub'];
$query = mysqli_query($link, "SELECT DISTINCT title FROM `wp_locations` WHERE `state`='$searchq' ")or die("Could not search!");
$count = mysqli_num_rows($query);
if($count == 0){
$output = '<option>No results!</option>';
}else{
while($row = mysqli_fetch_array($query)){
$suburb = $row['title'];
?>
<option value="<?php echo $suburb; ?>"><?php echo $suburb; ?></option>
<?php
} // while
} // else
} // main if
我的想法是,当选择状态时,该输入框的值将作为搜索值发送到select-suburb.php
。 没有什么可以作为郊区的选择。 我没有从其他PHP文件中得到结果。 有人可以告诉我解决方案吗?
您是否尝试过使用“ async:false”选项? 由于ajax请求是异步的,因此在完成请求之前将调用第二种方法。
$.ajaxSetup({async: false});
提出您的要求,然后放入:
$.ajaxSetup({ async: true });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.