[英]No option in a dynamic dependant drop-down list after form submission
所以,我有一個包含兩個下拉列表的表單: id="dd-1"
& id="dd-2"
。
基於id="dd-2"
選擇從數據庫創建的id="dd-1"
選項; 我在id="dd-1"
使用onChange=getChildOf(this.value)
來做到這一點。
當用戶在id="dd-1"
選擇一個選項時,我運行一個ajax函數,它將id="dd-1"
的值傳遞給另一個運行MySqli
查詢的PHP
頁面,然后更新id="dd-2"
。
到此為止,一切都很好。
我需要的是:
id="dd-1"
的用戶選擇。 DONE id="dd-2"
基礎上的提交值選項id="dd-1"
尚未完成 表單提交后, id="dd-2"
根本沒有顯示任何選項。 所以,我必須再次更改id="dd-1"
的選擇,以便ajax
getChildOf(val)函數!
供參考:
id="dd-1"
選擇下拉列表看起來像是:
<select id="dd-1" name="dd-1" onChange="getChildOf(this.value)">
<option value="1" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='1'){echo 'selected';}?> >Option 1</option>
<option value="2" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='2'){echo 'selected';}?> >Option 2</option>
<option value="3" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='3'){echo 'selected';}?> >Option 3</option>
</select>
id="dd-2"
選擇下拉列表看起來像是:
<select id="dd-2" name="dd-2"></select>
ajax
功能:
function getChildOf(val)
{
$.ajax({
type:"POST",
url:"get_dd2_options.php",
data: 'parentid='+val,
success: function(data){
$("#dd-2").html(data);
}
});
}
get_dd2_options.php
頁面看起來很像:
<html>
<option value="-1">Please Select</option>
<?php
include_once('config.php');
// list all children
$q = mysqli_query($link, "SELECT * FROM table WHERE id = '".$_POST['parentid']."'");
while($r = mysqli_fetch_assoc($q))
{
$id = $r['id'];
$name = $r['name'];
?> <option value="<?=$id;?>" <?php if(isset($_POST['dd-2'])&&$_POST['dd-2']==$id){echo 'selected';}?> ><?=$name;?></option> <?php
}
?>
你有兩個選擇,我不知道哪個是最好的,因為我沒有查看完整的代碼庫。
選項1:在檢查dd1設置后發布后,在php中添加另一個dd2檢查。
<?php
if (isset($_POST['dd-1']) {
/* populate dd-2 based on dd-1 value*/
}
?>
選項2:添加邏輯以將dd2填充到頁面加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.