我的脚本正常运行,问题是我在一个页面上进行编辑,并且出现了所有数据
<tr>
<td class="left">Estado</td>
<td>
<select name="estado" id="select2_1" onChange="buscar_cidades()" style="width: 40%;">
<option value="">--</option>
<?php foreach ($arrEstados as $value => $name) {
echo "<option value='{$value}' ".selected($estado,$value).">{$name}</option>";
}?>
</select>
</td>
</tr>
<tr>
<td class="left">Cidade</td>
<td>
<div id="load_cidades">
<select name="cidade" id="select2_2" style="width: 50%;">
<option value="">Select the state</option>
</select>
</div>
</td>
</tr>
function buscar_cidades(){
var estado = $('#select2_1').val();
if(estado){
var url = 'ajax_cidades.php?estado='+estado;
$.get(url, function(dataReturn) {
$('#load_cidades').html(dataReturn);
});
}
}
我的文件ajax_cidades.php
<?php
require_once('application/config/database.php');
$estado = $_GET['estado'];
$sql = "SELECT * FROM loc_cidade WHERE id_uf = $estado ORDER BY nome";
$res = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($res);
for ($i = 0; $i < $num; $i++) {
$dados = mysql_fetch_array($res);
$arrCidades[$dados['id']] = $dados['nome'];
}
?>
<select name="cidade" id="select2_2" style="width: 50%;">
<?php foreach($arrCidades as $value => $nome){
echo "<option value='{$value}'>{$nome}</option>";
}
?>
我已经尝试了所有功能,但是,功能“选定”检查等同于品牌为“已选择”
打印屏幕
答案 0 :(得分:0)
我不确定你为什么要让你的ajax_cidades.php循环两次相同的数据。
<?php
require_once('application/config/database.php');
$estado = $_GET['estado'];
$sql = "SELECT * FROM loc_cidade WHERE id_uf = $estado ORDER BY nome";
$res = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($res);
echo '<select name="cidade" id="select2_2" style="width:50%;">';
for ($i = 0; $i < $num; $i++) {
$dados = mysql_fetch_array($res);
echo '<option value="'.$dados['id'].'">'.$dados['nome'].'</option>';
}
echo '</select>';
?>
另外,尝试通过添加
来调试ajax调用返回的内容console.log(dataReturn)
在$.get(url, function(dataReturn) {
之后到您的函数
然后检查您的控制台以确保您的页面返回预期的数据。