我有兩個下拉列表。 第二個是根據第一個選擇的值填充的。我正在使用Double Combo Script Credit JavaScript工具包來做到這一點(我對javascript非常不滿)。 我用它來過濾來自我的Mysql數據庫的結果。 問題是,當用戶應用過濾器我希望他看到他應用(當頁面刷新或用戶轉到其他頁面) - 這些值應該被視爲在下拉列表中選擇。我無法弄清楚我應該在哪裏放置一個事件或其他東西。基於php會話值自動選擇兩個下拉列表值
我是從第二個下拉列表中的PHP會召開子目錄值:
if (isset($_SESSION['subcat']) && !isset($_GET['subcat'])){
$color= $_SESSION['subcat'];
}
elseif (!isset($_SESSION['subcat']) && isset($_GET['subcat']))
{
$_SESSION['subcat'] = mysql_real_escape_string($_GET['subcat']);
$color= $_SESSION['subcat'];
}
elseif (isset($_SESSION['subcat']) && isset($_GET['subcat'])){
unset($_SESSION['subcat']);
$_SESSION['subcat'] = mysql_real_escape_string($_GET['subcat']);
$color= $_SESSION['subcat'];
}
else {
$color= "";
};
我可以在第一個下拉列表回顯選擇,基於會話的價值和這樣的作品,但第二個當頁面刷新時不會生成一個下拉列表,並且我不知道應該在哪裏回顯'selected ='選擇''或者也許一切只能使用javascript完成?請幫忙。
代碼:
<div class="filter">
<form method="get" name="doublecombo" action="" id="filterform" >
<select name="example" id="exampl" size="1" onChange="redirect(this.options.selectedIndex)">
<option>All kinds</option>
<option>Women</option>
<option>Men</option>
</select>
<select name="subcat" size="1" id="subcategory">
<option value="lists.php">All colors</option>
</select>
<input type="button" name="test" value="Filter" onClick="go()">
</p>
<script>
<!--
/*
Double Combo Script Credit
By JavaScript Kit (www.javascriptkit.com)
Over 200+ free JavaScripts here!
*/
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("All colors","list.php")
group[1][0]=new Option("Pink","list.php?subcat=1 ")
group[1][1]=new Option("White","list.php?subcat=2")
group[1][2]=new Option("Green","list.php?subcat=3")
group[2][0]=new Option("Black","list.php?subcat=12")
group[2][1]=new Option("Blue","list.php?subcat=13")
group[2][2]=new Option("Grey","list.php?subcat=14")
group[2][3]=new Option("Brown","list.php?subcat=15")
var temp=document.doublecombo.subcat
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
location=temp.options[temp.selectedIndex].value
}
//-->
</script>
</form></div>
我抱着值已屆,我不知道如何來重新填充第二個下拉列表基於該值時,自動頁面刷新 – Christine
@Christine我不明白如果表單尚未提交,您將如何在會話中存儲值?請參閱如何使用cookie存儲選定值的更新 – david
謝謝!這工作! – Christine