Heim > php教程 > PHP源码 > Hauptteil

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

WBOY
Freigeben: 2016-06-08 17:29:49
Original
926 Leute haben es durchsucht

很多朋友都是用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>

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!