【发布时间】:2018-08-26 23:44:29
【问题描述】:
我有一个数据库表名称国家和州我试图在选择国家时调用州每个州都有关联的国家列名称 XX,例如巴基斯坦 PK、美利坚合众国 US 等等,我的代码示例如下找到解决办法。
国家/地区选择框
<select name="country" id="country">
<option value="-1">Select Country</option>
<?php
$query = $mysqli->query("SELECT * FROM `country`");
while ( $row = mysqli_fetch_assoc($query) ) {
echo '<option value="'.$row['country_code'].'">';
echo $row['country_name'];
echo '</option>';
}
?>
状态选择框
<select name="country" id="states">
<option value="-1">Select State</option>
</select>
Ajax 调用
$(document).ready(function(){
$('#country').on('change',function(){
var countryCode = $(this).val();
if(countryCode){
$.ajax({
type: "POST",
url: 'getStates.php',
data: {countryCode:country_code},
success:function(data){
$("#states").html(data);
}
});
}
});
});
我有一个单独的文件,我在其中使用 ajax 获取状态
<?php include_once("inc/config.php");?>
<option value="-1">Select State</option>
<?php
$query = $mysqli->query("SELECT * FROM `state` WHERE `country_code` = '".$_POST['country_code']."' ");
while( $row = mysqli_fetch_array($query) ){
echo '<option value="';
$row['state_id'];
echo '">';
echo $row['state_name'];
echo '</option>';
}
?>
<option value="Other">Other</option>
注意:
数据库连接没问题,因为当我在 getStates.php 文件中插入 'PK' 而不是 '".$_POST['country_code']."' 时,它工作正常,当我在 ajax success:function(data){console.log()} 中插入 console.log() 时,它显示国家的相关值,但我认为我做错了ajax 代码中的某处。
当我在 getStates.php 文件中插入 $_POST['country_code'] 或 $_POST['countryCode'] 时,我也会收到未定义变量错误。
我确定 ajax 调用有问题
【问题讨论】:
-
您可能还想查看stackoverflow.com/questions/5918144/…,如果我回答了,我会包含这个