3つのドロップダウンを持つカスタムページテンプレートがあり、各ドロップダウンの値は動的に設定されます。今、私はカスケードしたいです。 1番目のドロップダウンでユーザーが選択するオプションは、そのオプションの下にある値が3番目のドロップダウンと同じ2番目のドロップダウンのオプションとして表示されます。PHPとJSを使用して3つのドロップダウンをカスケードする方法は?
私はJSスニペットを持っているが、3つのドロップダウンのカスケードが
スニペット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>
スニペットJS:
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 ;
}
はあなたが取得したいデータのいくつかの例を示すことができます。 このように考えると 車種 - >トヨタ(最初のドロップダウンリスト全ての車種)、 車種 - >ヤリス(トヨタの全ての車種を持っている2番目のドロップダウン)。この? – Mujahidh
はい。例えば。市 - >通り(街にあるすべての通り) - >道路名(その通りのすべての道路名) – User014019
あなたはあるテーブルに都市を持っていて、別のテーブルに市がある街、別のテーブルに通りIDを持つ道路名? – Mujahidh