2015-02-17 3 views
-1

Я пытаюсь разработать JS-функцию, которая создает новое раскрывающееся меню на основе выбора из предыдущего раскрывающегося списка. В основном выпадающий список, чтобы выбрать список городов, основанный на selction of state. У кого-нибудь есть предложения?Создайте динамическое выпадающее меню с основанием mysqli

Вот Javascript Я использую:

function city() { 
var opt = document.getElementById('State'); 
var sel = opt.options[opt.selectedIndex].value; 
var dropdown = document.getElementById('City'); 
document.write("<?php mysqli_select_db($GLOBALS['SSDN'],$database_SSDN);  $query_City = 'SELECT * FROM city WHERE State = sel ORDER BY City ASC'; $City = mysqli_query($GLOBALS['SSDN'],$query_City) or die(mysql_error()); while ($row_City = mysqli_fetch_array($City, MYSQL_ASSOC)) ?>"); 

var o = document.createElement('option'); 
o.text = document.write("<?php echo $row_City['City'];?>"); 
o.value = document.write("<?php echo $row_City['City'];?>"); 
dropdown.options.add(o); 
} 

А вот HTML:

 <td><select name="State" class="Field" id="State"> 
     <?php 
     while ($row_Recordset1 = mysqli_fetch_array($Recordset1, MYSQL_ASSOC)) { 
      ?> 
      <option value = "<?php echo $row_Recordset1['State'];?>"><?php echo $row_Recordset1['State'];?></option> 
      <?php 
     } 
     ?> 
    </select></td> 
    </tr> 
    <tr height="50"> 
    <td><div align="right" class="Label">Select New Rehbar City :</div></td> 
    <td>&nbsp;</td> 
    <td><select name="City" class="Field" id="City" onfocus="City();"> 

    </select></td> 
    </tr> 
+0

и что именно не работает? –

+0

Я сделал что-то подобное с AngularJS. его двойная привязка данных удобна, но очень много работы по изучению и настройке ... см. их введение в учебник, чтобы понять, как это может помочь. – Ehvince

ответ

0

я помню, это один из 2011: http://tutorialzine.com/2011/11/chained-ajax-selects-jquery/

Это называется прикован полей выбора , приведенная выше ссылка дает учебное пособие о том, как ее реализовать. Посмотрите, возможно, это поможет вам.

0

Javascript - это язык программирования на стороне клиента (программирование), а PHP - язык программирования на стороне сервера. Это означает, что вы не можете запускать PHP-коды, когда страница уже покраснела в клиентский браузер, и вы можете запускать только коды Javascript, когда страница уже загружен!

Эти строки не имеет никакого смысла и не даст вам желаемый результат:

document.write("<?php mysqli_select_db($GLOBALS['SSDN'],$database_SSDN);  $query_City = 'SELECT * FROM city WHERE State = sel ORDER BY City ASC'; $City = mysqli_query($GLOBALS['SSDN'],$query_City) or die(mysql_error()); while ($row_City = mysqli_fetch_array($City, MYSQL_ASSOC)) ?>"); 
o.text = document.write("<?php echo $row_City['City'];?>"); 
o.value = document.write("<?php echo $row_City['City'];?>"); 

Поместить параметры (данные) внутри яваскрипта переменной а затем использовать их в сценарии, что-то вроде этого:

<script> 
var myOptions = [ 
    <?php 
    // Select and fetch the data from database 
    // Loop over your selected data and flush them into your javascript array 
    while ($row_City = mysqli_fetch_array($City, MYSQL_ASSOC)){ 
     // if still have data: 
     ?>'<?php echo $row_City["field_name"] ?>',<?php 
     // else: 
     ?>'<?php echo $row_City["field_name"] ?>'<?php 
    } 
    ?> 
]; 

for (option in myOptions){ 
    // add each option to your drop down element 
} 

</script> 
Смежные вопросы