2013-08-21 137 views
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

回答

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

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