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> |
时间: 2024-11-10 09:39:13