> php教程 > PHP源码 > ajax+php实例动态二级联菜单效果

ajax+php实例动态二级联菜单效果

WBOY
풀어 주다: 2016-06-08 17:29:49
원래의
977명이 탐색했습니다.

很多朋友都是用js来实现级联菜单了,那样有一个不好就是更新可能要修改源码,现在提供的这款ajax+php是一个实时的,不好之处在于耗费服务器资源了。

<script>ec(2);</script>

main.php

<script><br /> <!--<br /> <br /> function getoption(select1,target)<br /> {<br /> if(select1.value!=0){<br /> //select1是提交数据的来源的select菜单名<br /> var url = "getoption.php?pid="+select1.value;//取得xml的url<br /> //alert(url);<br /> var ajax = InitAjax();<br /> var i = 0;<br /> ajax.open("GET", url, true);<br /> ajax.onreadystatechange = function() {<br /> //如果执行是状态正常,那么就把返回的内容赋值给指定的地方<br /> if (ajax.readyState == 4 && ajax.status == 200) {<br /> var obj = ajax.responseXML;<br /> var properties = obj.getElementsByTagName("property");<br /> var name,value;<br /> target.options.length = 1;<br /> for (var i=0,x=1;i<properties.length;i++,x++) {<br /> name = properties[i].getElementsByTagName("name")[0].firstChild.nodeValue;<br /> value = properties[i].getElementsByTagName("value")[0].firstChild.nodeValue;<br /> target.options[x] = new Option();<br /> target.options[x].text = name;<br /> target.options[x].value = value;<br /> }<br /> }<br /> }<br /> ajax.send(null);<br /> }<br /> }<br /> <br /> <br /> <form method="post" name="form" action="index.php"><br /> <select name="level1" onchange="getoption(document.form.level1,document.form.level2);"/><br /> <option selected="ture" value="0">===选择===<br /> <?<br /> if ($nrows>0){<br /> for ($i=0;$i<$nrows;$i++){<br /> echo "<option value="{$results[ID][$i]}">{$results[NAME][$i]}";<br /> }<br /> }<br /> ?><br /> <br /> <select name="level2" onchange="getoption(document.form.level2,document.form.level3);"><br /> <option selected="ture" value="0">===选择===<br /> <br /> <br /> iniajax.js:<br /> function InitAjax()<br /> {<br /> var ajax=false;<br /> try {<br /> ajax = new ActiveXObject("Msxml2.XMLHTTP");<br /> } catch (e) {<br /> try {<br /> ajax = new ActiveXObject("Microsoft.XMLHTTP");<br /> } catch (E) {<br /> ajax = false;<br /> }<br /> }<br /> if (!ajax && typeof XMLHttpRequest!='undefined') {<br /> ajax = new XMLHttpRequest();<br /> }<br /> return ajax;<br /> }<br /> <br /> getoption.php:<br /> <?php<br /> if($pid=$_GET["pid"])<br /> {<br /> header("Content-type: text/xml;charset=GB2312");<br /> echo "<?xml version="1.0" encoding="GB2312"?>";<br /> include("./oracle.inc");<br /> $sql="select * from AJAXTEST where PARENTID = $pid";<br /> //echo $sql;<br /> $stmt=ociparse($handle,$sql);<br /> ociexecute($stmt);<br /> ocicommit($handle);<br /> ocilogoff();<br /> $nrows=ocifetchstatement($stmt,$results);<br /> echo "<properties>";<br /> //echo "<row>{$nrows}";<br /> for ($i=0;$i<$nrows;$i++){<br /> echo "<property>";<br /> echo "<value>{$results[ID][$i]}";<br /> echo "<name>{$results[NAME][$i]}";<br /> echo "";<br /> }<br /> echo "";<br /> }<br /> ?></script>

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿