我建了一个服务器下拉别表控件,两个上html控件select!~~~服务器控件里面有国内和国际两个选项,当我选国内的时候,两个下拉select分别显示国内的城市和航空公司!~~~选国际的时候,两个下拉select分别显示国际的城市和航空公司!~~~ 城市和航空公司都用JS创建的数据,请问如何实现啊?
解决方案 »
- 关于VS中数据库操作的一个问题就大神解答
- 用AspNetPager+Datalist 怎么在页面绑定数据
- 关于HOOK设置线程钩子
- .net2.0问题请教?
- 新闻系统中都使用 JS 调用内容,为什么不使用IFRAME ,IFRAME 能被搜索引擎收录啊!!
- 问个简单的WebService的问题
- JavaScript里面的一个变量怎么通过文本框改变它的数值
- 请问http://1.1 500 internal server error错误 怎么解决啊?
- 小弟初学asp.net,不知应该注重哪些细节?
- asp.net中对话框提示是如何处理的,还是用Label中显示出来
- 局域网MS SQL Server2000
- 哪里有比较好的div+css模板?
一是用Ajax 高手给我的例子是用Ajax的
二是用JS+XML 但我是想要这种的 比较省资源你搜索一下 二级联动 下拉框
很多~~~~~~
但.....我的逻辑能力还.......
常常头在冒烟~~~~
{
var v = sObj.value;
var obj = document.getElementById(t);
var obj1 = document.getElementById(s);
if(!v || !des_city_arr[v] || !airways_arr[v])
{
obj.length = 0;
obj1.length = 0;
add_option(t, '没有数据', 0);
add_option(s, '没有数据', 0);
obj.option[0].selected = true;
obj1.option[0].selected = true;
return false;
}
//添加目的城市
if(des_city_arr[v].length)
{
obj.length = 0;
for(cityid in des_city_arr[v])
{
add_option(t, des_city_arr[v][cityid], cityid);
}
obj.option[0].selected = true;
}
//添加航空公司
if(airways_arr[v].length)
{
obj1.length = 0;
for(airid in airways_arr[v])
{
add_option(s, airways_arr[v][airid], airid);
}
obj1.option[0].selected = true;
}
}//创建option,添加内容。
function add_option(obj, text, value)
{
s_obj = document.getElementById(obj);
opt_len = s_obj.length;
newOpt = document.createElement("option");
newOpt.text = text;
newOpt.value = value;
app = navigator.appName;
if(app.indexOf("Microsoft") != -1)
{
s_obj.add(newOpt);
}
else
{
s_obj.add(newOpt, s_obj.options[opt_len+1]);
}
}
网上搜索下2级联动好多的
/*---------------------------------------------------------------------------*\
* 1.变量定义 *
/*---------------------------------------------------------------------------*/ //定义菜单级别MenuClass,菜单长度数组MenuLenArr,
//菜单名称数组MenuArr,下级菜单数组SubMenuArr,菜单ID数组MenuIdArr
var MenuClass,MenuLenArr,MenuArr,SubMenuArr,MenuIdArr//定义分隔符:splitchar1,splitchar2
var splitchar1,splitchar2//定义临时数组,子数组,数组长度,
var arr,subarr,arrlen/*---------------------------------------------------------------------------*\
* 2.变量赋值 *
/*---------------------------------------------------------------------------*/
MenuArr=new Array()
MenuLenArr=new Array()
SubMenuArr=new Array()
MenuIdArr=new Array()MenuArr[1]="辽宁|||黑龙江|||吉林|||内蒙古|||河北|||山东"; //洲名|||...
MenuArr[2]="辽宁###大连|||辽宁###沈阳|||辽宁###鞍山|||辽宁###抚顺|||辽宁###本溪|||辽宁###丹东|||辽宁###锦州|||辽宁###营口|||辽宁###阜新|||辽宁###辽阳|||辽宁###盘锦|||辽宁###铁岭|||辽宁###朝阳|||辽宁###葫芦岛"; //洲名###国名|||...
MenuArr[3]=<!--{eval echo "\"";}-->
<!--{loop $hotellist $value}-->
<!--{eval echo $value[city]."###".$value[c_name];}-->
<!--{eval echo "|||";}-->
<!--{/loop}-->
<!--{eval echo "\"";}-->;
MenuArr[4]="北京###朝阳区|||上海###徐汇区|||广州###天河区|||纽约###曼哈顿区|||华盛顿###华盛顿区|||柏林###新柏林区|||巴黎###大巴黎区|||开罗###大开罗|||悉尼###悉尼市区|||墨西哥城###墨西哥城区"; //国名###城市名|||...MenuIdArr[1]="zhou"
MenuIdArr[2]="guo"
MenuIdArr[3]="shi"
MenuIdArr[4]="qu"
MenuClass=4 //4级菜单splitchar1="|||";
splitchar2="###";/*---------------------------------------------------------------------------*\
* 3.生成数组 *
/*---------------------------------------------------------------------------*/
for(iii=1;iii<=MenuClass;iii++)
{
arr=MenuArr[iii].split(splitchar1);
len=arr.length;
subarr=new Array()
for (i=0;i<len;i++)
{
subarr[i]=arr[i].split(splitchar2);
}
len=subarr.length;
SubMenuArr[iii]=subarr
MenuLenArr[iii]=len
}//============更改下级菜单======================
var self,submenu,thislen,thisarr
//self本级菜单
//submenu子菜单
//theform:所在表单对象[type:object]
//menuid:本级菜单级别ID,如1级菜单则为1
self=eval("document."+theform.name+"."+MenuIdArr[menuid])
submenu=eval("document."+theform.name+"."+MenuIdArr[menuid+1])
thislen=MenuLenArr[menuid+1]
thisarr=SubMenuArr[menuid+1]
submenu.length=0
submenu.options.add(new Option( "-----请选择-----",""));
for (i=0;i<thislen;i++)
{
if (thisarr[i][0] == self.value)
{
submenu.options.add(new Option(thisarr[i][1], thisarr[i][1]));
}
}
submenu.options[0].selected=true//============更改下级以下菜单==============
var kkk
for(kkk=menuid+2;kkk<=MenuClass;kkk++)
{
submenu=eval("document."+theform.name+"."+MenuIdArr[kkk])
submenu.length=0
submenu.options.add(new Option( "-----请选择-----",""));
submenu.options[0].selected=true
}
}