2013-08-13 3 views
-1

У меня есть следующий код для создания выпадающего списка.2-й раскрывающийся список на основе значения первого выпадающего списка

$query = "SELECT * FROM firm"; 
// Execute it, or return the error message if there's a problem. 
$result = mysql_query($query) or die(mysql_error()); 

$dropdown = "<select name='name'>"; 
while($row = mysql_fetch_assoc($result)) 
    $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>"; 
$dropdown .= "\r\n</select>"; 

Как я могу изменить этот код, чтобы сделать второй выпадающий список, основанный на значении, выбранном в выпадающем списке.

То, что я пытаюсь достичь, заключается в том, что вы можете сначала выбрать фирму, как указано выше, а затем, во-вторых, я хочу иметь возможность выбирать между различными областями для этой конкретной фирмы. Вся эта информация находится в одной таблице.

Можно ли изменить этот код.

+0

Вы должны использовать JavaScript, чтобы изменить вторую выпадающие после того, как пользователь выбрал пункт в первом (если они не являются отправьте форму после первого выбора). – Robadob

+0

Возможный дубликат [Как заполнить второе раскрывающееся меню на основе выбора первого раскрывающегося списка с использованием jQuery/AJAX и PHP/MySQL?] (Http://stackoverflow.com/questions/8749326/how-to-populate-second-dropdown-based -on-selection-of-first-dropdown-using-jquer) http://stackoverflow.com/questions/8749326/how-to-populate-second-dropdown-based-on-selection-of-first-dropdown -using-jquer –

+0

Чтобы получить значения на основе первого выбора, используйте jquery ajax. –

ответ

0

Вы можете связать событие изменения на первое выберите элемент

$("#firm").change(function(){...}); 

Когда это произойдет, вам нужно сделать запрос AJAX, чтобы получить эти дополнительные опции для второго выбора элемента, а затем использовать этот результирующий набор для заполнения новый элемент выбора.

Здесь вы можете увидеть реализацию Javascript получения, что новый набор результатов и заполнения выберите элемент: Populate Select box options on click with Javascript/Jquery with Json data

P.S. Существует второй вариант, когда вы не используете AJAX, но сначала выбираете все варианты выбора с их отношениями друг к другу, а затем на основе выбранного объекта скрываете/показываете связанные области во втором элементе выбора.

0

создать функцию в JavaScript для создания строки запроса:

<script type="text/javascript"> 
function show(val){ 
    window.location="pagename.php?drp="+val; 
} 
</script> 

вызов этой функции на OnChange случае раскрывающийся:

$dropdown = "<select name='name' onChange='show(this.value)'>"; 

теперь строка запроса генерировать. выборки значения строки запроса в любом переменной

Bind вторых раскрывающийся:

if(isset($_REQUEST["drp"])) 
{ 
    $val=$_REQUEST["drp"]; 
$query = "SELECT * FROM tablename where parametername='$val'"; 
    // Execute it, or return the error message if there's a problem. 
    $result = mysql_query($query) or die(mysql_error()); 

    $dropdown = "<select name='drp2'>"; 
    while($row = mysql_fetch_assoc($result)) { 

    $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>"; 
    } 
    $dropdown .= "\r\n</select>"; 
} 
+0

Привет, вышли в выпадающие списки с помощью ajax и php. Кто-нибудь может помочь мне вставить html-форму? см. мою ссылку здесь http://stackoverflow.com/questions/18227256/populate-triple-drop-down-in-ajax-and-php-in-a-form – Alwina

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