【发布时间】:2016-05-23 08:19:34
【问题描述】:
如何级联三个下拉菜单?
我有一个带有三个下拉列表的页面模板,选项 html 标记的值由 mysql 动态填充。我想在第三个下拉列表中显示选项取决于第二个下拉列表,它将在第二个下拉列表中显示选项取决于在第一个下拉列表中选择的选项。
E.g. (1) Job position (2) location (3) a dropdown with "Yes" and "No" option. (Job Position -> Location -> Yes/No (dropdown))
我尝试了一些 JS 脚本,但我无法正常工作。请帮帮我,我在这上面坚持了将近 1 周:(
PHP sn-p:
<?php
ob_start();
global $wpdb;
$query_position = "";
$list_position = "";
$result_position = "";
$query_locations = "";
$list_location = "";
$result_location = "";
$query_processed = "";
$list_processed = "";
$result_processed = "";
$query_position = $wpdb->get_results('SELECT DISTINCT position FROM resume_databank ORDER BY position ASC', OBJECT);
$query_locations = $wpdb->get_results('SELECT DISTINCT hiring_location FROM resume_location ORDER BY hiring_location ASC', OBJECT);
$query_processed = $wpdb->get_results('SELECT DISTINCT process_resume FROM resume_databank ORDER BY process_resume ASC', OBJECT);
?>
<div id="">
<form action='' method='post' name='resumeDatabank' id='resumeDatabank'>
<div class="div-select">
<label for="list_position" id="#ddress_search LABEL">Position</label>
<br/>
<select name="list_position" id="filterbypostion">
<option name="default" class="filter_by" selected="selected" value="Select by Position">Select by Position</option>
<?php
foreach($query_position as $option){
if(isset($_POST['list_position']) && $_POST['list_position'] == $option->position)
echo '<option name="list_position" class="filter_by" selected value="'. $option->position .'">'. $option->position .'</option>';
else
echo '<option name="list_position" class="filter_by" value="'. $option->position .'">'. $option->position .'</option>';
};
?>
</select>
</div>
<div class="div-select">
<label for="list_location" id="#ddress_search LABEL">Location</label>
<br/>
<select name="list_location" id="filterbylocation">
<option name="default" class="filter_by" selected="selected" value="Select by Location">Select by Location</option>
<?php
foreach($query_locations as $option){
if(isset($_POST['list_location']) && $_POST['list_location'] == $option->hiring_location)
echo '<option name="list_location" class="filter_by" selected value="'. $option->hiring_location .'">'. $option->hiring_location .'</option>';
else
echo '<option name="list_location" class="filter_by" value="'. $option->hiring_location.'">'. $option->hiring_location .'</option>';
};
?>
</select>
</div>
<div class="div-select">
<label for="list_processed" id="#ddress_search LABEL">Processed</label>
<br/>
<select name="list_processed" id="filterbyprocessed">
<option name="default" class="filter_by" selected="selected" value="Select by Processed">Select by Processed</option>
<?php
foreach($query_processed as $option){
if(isset($_POST['list_processed']) && $_POST['list_processed'] == $option->processed_option)
echo '<option name="list_processed" class="filter_by" selected value="'. $option->processed_option .'">'. $option->processed_option .'</option>';
else
echo '<option name="list_processed" class="filter_by" value="'. $option->processed_option.'">'. $option->processed_option .'</option>';
};
?>
</select>
</div>
<div class="div-input">
<input type="submit" value="Search" class="div-input-submit"/>
</div>
</form>
</div>
【问题讨论】:
标签: javascript php drop-down-menu html-select cascadingdropdown