【发布时间】:2016-05-18 06:13:23
【问题描述】:
我有一个带有三个下拉列表的自定义页面模板,每个下拉列表的值都是动态填充的。现在,我想级联它。无论用户在第一个下拉菜单中选择什么选项,该选项下的值都将显示为第二个下拉菜单中的选项,与第三个下拉菜单中的相同。
我有一个JS sn-p,但是三个下拉列表的级联不起作用
PHP 代码段:
<form action='' method='post' name='test' id='test'>
<div class="div-select">
<label for="list_position" id="idname">Position</label>
<br/>
<select name="list_position" id="filterbypostion" onchange="app_position(this.form)">
<option name="default" class="filter_by" selected="selected" value="Select by Position">Select by Position</option>
<?php
foreach($query_location 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_position" id="idname">Position</label>
<br/>
<select name="list_position" id="filterbypostion" onchange="app_location(this.form)">
<option name="default" class="filter_by" selected="selected" value="Select by Position">Select by Position</option>
<?php
foreach($query_location 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_position" id="idname">Position</label>
<br/>
<select name="list_position" id="filterbypostion" onchange="app_location(this.form)">
<option name="default" class="filter_by" selected="selected" value="Select by Position">Select by Position</option>
<?php
foreach($query_location 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-input">
<input type="submit" value="Search" class="div-input-submit"/>
</div>
</form>
代码片段:
function app_position(form){
var val=form.list_position.options[form.list_position.options.selectedIndex].value;
self.location='page-resume-databank?list_position=' + val ;
}
function app_location(form){
var val=form.list_position.options[form.list_position.options.selectedIndex].value;
var val2=form.list_location.options[form.list_location.options.selectedIndex].value;
self.location='page-namepage?list_location=' + val + '&list_processed=' + val2 ;
}
【问题讨论】:
-
您能否展示一些您想要获取的数据示例。是否有人认为这辆车是制造商 -> 丰田(第一个下拉列表所有车辆制造商),车型 -> 雅力士(第二个下拉列表,其中包含丰田的所有型号)。你的想法是否对此更微笑?
-
是的。例如。城市 -> 街道(城市中的所有街道) -> 道路名称(该街道下的所有道路名称)
-
希望您在一张表中包含城市,在另一张表中包含城市的街道,在另一张表中包含街道 ID 的道路名称,对吗?
-
不,我有一张用于城市的表格,而只有一张用于街道和道路名称的表格
-
如何验证哪些道路名称属于哪条街道?
标签: javascript php wordpress drop-down-menu cascadingdropdown