2013-07-04 2 views
0

пытаюсь сделать каскадный выпадающий список, я хочу, когда выберите регион пользователя, то город выпадающий заполняется соответственно ..решений каскадных выпадающего меню с помощью JQuery, PHP и MySQL

JS:

$(document).ready(function() { 
    $('#region').change(function() { 
     var region = $(this).val(); 
     $.post('get_region.php', { 
      region: region 
     }, function(data) { 
      $('#district_div').html(data); 
     }); 
    }); 

PHP:

<?php 
require_once('../db/connect.php'); 

$region=$_POST['region']; 

$q=mysql_query("select name from city where region='$region'"); 

$row=mysql_fetch_array($q); 
echo $row['name']; 
?> 

HTML * сильный текст *

<div class="controls"> 

         <select class="bootstrap-select" name="region" id="region"> 
              <option value="">Choose</option> 
             //from database 
              <?php echo $region_result; ?> 

      </select> 
    </div> 

         <select class="bootstrap-select" name="district" id="district" > 

          <div id='district_div'></div>   

      </select> 
+0

Каков ваш вопрос? Также кажется, что вам не хватает '})' in js code – mishik

+0

Итак, вы не получаете данные? – RicardoGonzales

+1

мой вопрос: я выпадающе не заселен onchage и где я пропустил это ???? – internally1

ответ

0

Вы пытаетесь написать обычный текст внутри поля выбора. Попробуйте написать в формате HTML:

<option>name</option> 

В ваших JS, замените строку:

$('#district_div').html(data); 

С:

$('#district').html(data); 

Удалить DIV с идентификатором "district_div". Вы не можете иметь DIV внутри SELECT. В PHP, последняя строка:

echo "<option>$row[name]</option>"; 
+0

объясните больше plz – internally1

+0

Попробуйте код в моем редактировании. –

0

вы MIS некоторые части

// will echo the name value of one row 
    $row=mysql_fetch_array($q); 
    echo $row['name']; 

попробовать

$results = array(); 
while($row = mysql_fetch_array($q)){ 
$results[] = '<option>.'$row['name'].'</option>'; 
} 
$optionString= implode(' ', $results); 
echo $optionsString; 
+0

i изменен, но nothn продолжается onchange – internally1

+0

вы можете разместить html выпадающего списка – Miguelo

+0

yap см. Мое редактирование выше ...... – internally1

1
-for JS it should be like this- 

$(document).ready(function() { 
    $('#region').change(function() { 
     var region = $(this).val(); 
     $.post('get_region.php', { 
      region: region 
     }, function(data) { 
      $('#district').html(data); // I change this part 
     }); 
    }); 


-for php- 

<?php 
require_once('../db/connect.php'); 

$region=$_POST['region']; 

$q=mysql_query("select name from city where region='$region'"); 

while($row = mysql_fetch_array($q)){ 
    echo "<option>".$row['name']."</option>"; 
} 

?> 


-for the html 

<div class="controls"> 
    <select class="bootstrap-select" name="region" id="region"> 
     <option value="">Choose</option> 
     //from database 
     <?php echo $region_result; ?> 
    </select> 

    <select class="bootstrap-select" name="district" id="district" > 

    </select>  <!--you don't need to put a div in the select tag--> 
</div> 
+0

Не могли бы вы объяснить и опубликованный код? .. – NREZ

+0

какая часть кода вы не поняли.? Как вы можете видеть, я просто редактирую код. – Ryan

+0

Простое базовое понимание того, что вы изменили ... Помогло бы сделать ваш ответ лучше ... – NREZ

Смежные вопросы