0

我的脚本正在运行,问题是我在要编辑的页面上,并且要显示所有数据

<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>";
                                                  }
                                                ?>

我已经尝试了一切,但不能,功能“选定”检查等于品牌“选定”

打印屏幕

http://oi44.tinypic.com/pu5w6.jpg

4

1 回答 1

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) {

然后检查您的控制台以确保您的页面返回预期的数据。

于 2013-08-21T21:09:25.743 回答