【www.bbyears.com--jquery】
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 objDrop.options[objDrop.length] = new Option(arr[i], arr[i]);
}
objDrop.selectedIndex = nIndex;
}
</script>