ホームページ  >  記事  >  バックエンド開発  >  php+JS を使用して 2 番目のメニュー ナビゲーションを作成する

php+JS を使用して 2 番目のメニュー ナビゲーションを作成する

怪我咯
怪我咯オリジナル
2017-07-06 10:04:401987ブラウズ

去年asp+jsで第2階層のカスケードメニューを作ったのですが、ふと取り出して作り直したら忘れていたことに気づき、aspで書いた元のプログラムが見つかりませんでした。それで、めまいがしたので、ネットで長い間検索しましたが、インターネット上の記述方法はそれぞれ異なっており、そのような 2 レベルのカスケードを作成する必要があることがわかりました。メニューはそんなに複雑ですか?そこで、簡単なものを書き直したいと思いました。 30分ほど考えて、2段目のカスケードメニューの設計と製作が完了しました。


一般的なアイデアは次のとおりです: 前のページが更新されないようにするには、iframe を使用して 2 番目のサブページに忍び込み、データベース内のデータを読み取り、最後に必要なデータを親ページに渡します。データの選択と転送が完了しました。

メインプログラムコードは以下の通りです(一部コードを変更していますが、機能に影響はありません):
親ページreg.html:

<iframe src=”city.php” width=”300″ height=”22″ frameborder=”0″ scrolling=”no”></iframe> <input name=”city” type=”hidden” id=”city” value=”" />

サブページcity.php:

<script language=”javascript” type=”text/javascript”> 
function goto(n){ 
this.location.href=”city.php?sh_id=”+n; 
} 
</script> 

<select name=”sh” onchange=”goto(this.value)”> 
<option>请选择所在省市</option> 
<?php 
include_once(”db.php”); 
$sql=”select * from province order by sh_id asc”; 
$result=mysql_query($sql); 
while($row=mysql_fetch_assoc($result)){ 
?> 
<option value=”<? echo $row[”sh_id”];?>” <? if($_GET[”sh_id”]==$row[”sh_id”]){echo &#39;selected=”selected”‘;}?>><? echo $row[”sh_name”];?></option> 
<?php 
} 
?> 
</select> 
<select name=”city” onchange=”parent.document.getElementById(&#39;city&#39;).value=this.value”> 
<option>选择你所在的城市</option> 
<?php 
if(!empty($_GET[”sh_id”])){ 
//echo “ok”; 
$sql=”select * from city where sh_id=”.$_GET[”sh_id”].” order by city_id asc”; 
$result=mysql_query($sql); 
while($row=mysql_fetch_assoc($result)){ 
?> 
<option value=”<? echo $row[”city_name”];?>”><? echo $row[”city_name”];?></option> 
<?php 
} 
} 
?> 
</select>


以上がphp+JS を使用して 2 番目のメニュー ナビゲーションを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。