작년에 asp+js를 이용해서 2차 캐스케이딩 메뉴를 만들었는데 갑자기 꺼내서 다시 만들다보니 잊어버리고, asp로 작성한 원본 프로그램을 찾을 수가 없었습니다. 너무 어지러워서 인터넷에서 한참 검색을 해보니 인터넷에 쓰는 방법도 다 다르고, 이렇게 2단계 계단식으로 만들어야 하는 걸까요. 메뉴가 너무 복잡해요? 그래서 간단한 것을 다시 쓰고 싶었습니다. 30분 정도 고민한 끝에 2차 캐스케이드 메뉴 디자인과 제작을 완료했습니다.
일반적인 아이디어는 다음과 같습니다. 이전 페이지가 새로 고쳐지는 것을 방지하기 위해 iframe을 사용하여 보조 하위 페이지에 몰래 들어가서 데이터베이스의 데이터를 읽고 마지막으로 원하는 데이터를 상위 페이지에 전달했습니다. 데이터 선택 및 전송이 완료되었습니다.
주요 프로그램 코드는 다음과 같습니다(코드의 일부가 변경되었으나 기능에는 영향을 미치지 않습니다):
부모 페이지 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 'selected=”selected”‘;}?>><? echo $row[”sh_name”];?></option> <?php } ?> </select> <select name=”city” onchange=”parent.document.getElementById('city').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를 사용하여 보조 메뉴 탐색 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!