JS部分*******/
T//此處調用prototype.js包,$("aa") 相當於 document.getElementById("aa");
//js部分。首先調用prototype的ajax應用
代碼如下 |
複製代碼 |
function getSelectArr(id,type) { var url = '/action.php'; //php頁面 var pars = "type=" + type + "&id=" + id; //參數拼接 //post方式提交,並執行回呼函數‘createSelect’ var ajax=new Ajax.Request(url,{method:'post',parameters:pars,onComplete:createSelecet}); } function createSelecet(info) { //Json串,ajax的傳回值。 //原型die(json_encode(array(array($text,$value),array($text2,$value2)));) var arr = eval(info.responseText); //建立select元素 var select = document.createElement("select"); //給select添加屬性 select.setAttribute("name","commu_album_id"); for(var i=0; i < arr.length; i++){ //給select添加option select.options.add(new Option(arr[i][0],arr[i][1])); $("target_commu_album_id").innserHTML =""; //將select添加到某標籤中 $("target_commu_album_id").appendChild(select); }
|
/*************php部分*******/
php部分主要接收 id 和 type
代碼如下 |
複製代碼 |
T$id = $_REQUEST['id']; $type = $_REQUEST['type'];
|
然後查詢要顯示在select框中的資訊,並按照順序,比如 array(option值,optionText)放到一個數組中。然後json轉換成json傳輸出或者放在die()中,js就可以接收了。
比如 執行
代碼如下 |
複製代碼 |
Tdie( json_encode( array( array(1,"招生部"), array(2,"財務部"), array(3,"行政部"), )));
|
注意:數組中只放值,不要加鍵。
如此在js的createSelect(info)中
代碼如下 |
複製代碼 |
var arr = eval(info.responseText); |
arr就是個數組, arr[0][0] = 1,arr[0][1]=”招生部” 。
代碼如下 |
複製代碼 |
arr[1][0] = 2,arr[1][1]=”財務部” |
另一種辦法,如果你常用上面麻煩我們可以使用全js聯動菜單效果
超簡單的js二級聯動菜單
代碼如下 |
複製代碼 |
<script language="javascript"> subcat = new Array(); subcat[0] = new Array("測試門店","1","1");subcat[1] = new Array("江西榮裕藥業集團有限公司","1","2"); var onecount=2; function changelocation(locationid) { document.registerform.cityareaid.length = 1; var locationid=locationid; var i; var nindex; for (i=0;i < onecount; i++) { if (subcat[i][1] == locationid) { document.registerform.cityareaid.options[document.registerform.cityareaid.length] = new Option(subcat[i][0], subcat[i][2]); } } } function doChange(objText, objDrop){ if (!objDrop) return; var str = objText.value; var arr = str.split("|"); var nIndex = objDrop.selectedIndex; objDrop.length=1; for (var i=0; i<arr.length; i++){ objDrop.options[objDrop.length] = new Option(arr[i], arr[i]); } objDrop.selectedIndex = nIndex; } </script> <form name="registerform" id="registerform" method="POST" action=""> <select name="cityid" id="cityid" onblur="changelocation(document.registerform.cityid.options[document.registerform.cityid.selectedIndex].value)"> <option value="">--不限城市--</option> <option value=1> test www.111cn.net</option> </select> <select name="cityareaid" id="cityareaid"> <option value="0">--不限地區--</option> </select> </form>
|