データベースから入力された 2 つのドロップダウンリストを作成しました。最初のドロップは国で、2 番目のドロップは都市です。ユーザーが 2 番目のドロップダウンで国を自動的に選択すると、その国のすべての都市が表示されます。問題は、別の国を選択するとすべてのページが更新され、その 2 つのドロップダウン リストだけを更新したいことです。Javascript と PHP を使用しています。コードは次のとおりです。
@$cat=$_GET['cat'];
$quer2=mysql_query("SELECT DISTINCT category,cat_id FROM category order by category");
if(isset($cat) and strlen($cat) > 0){
$quer=mysql_query("SELECT DISTINCT subcategory FROM subcategory where cat_id=$cat order by subcategory");
}else{$quer=mysql_query("SELECT DISTINCT subcategory FROM subcategory order by subcategory"); }
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($noticia2 = mysql_fetch_array($quer2)) {
if($noticia2['cat_id']==@$cat){echo "<option selected value='$noticia2[category]'>$noticia2[category]</option>"."<BR>";}
else{echo "<option value='$noticia2[cat_id]'>$noticia2[category]</option>";}
}
echo "</select>";
echo "  ";
echo "<select name='subcat'><option value=''></option>";
while($noticia = mysql_fetch_array($quer)) {
echo "<option value='$noticia[subcategory]'>$noticia[subcategory]</option>";
}
echo "</select>";
これはJavascriptコードです:
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='index.php?cat=' + val ;
}
国を変更したときに、すべてのページがそれらの 2 つのドロップダウン リストだけを更新しないようにします。どんな助けでも大歓迎です。