高分请教在表单里下拉框如何不用点击确定按钮就和实现选择?在先等,急!
我的意思是如何在选择了第一个下拉框后,第二个下拉框就可根据前一个下拉框的值
的判断来显示什么值,然后就可以根据以上两个下拉框的值实现sql语言显示相关信息,(以上两个下拉框都是跟sql数据库相连的。)我出100分请教,谢谢!!
问题点数:100、回复次数:4Top
1 楼lsaturn(土星-站了一晚)回复于 2003-06-01 08:15:13 得分 100
关联菜单嘛
<form method=post name=fm>
<select onchange=chg(selectedIndex) name=a>
<option>亚洲
<option>欧洲
<option>美洲
</select>
<select name=b onchange="r.value=value">
<option>请选择
</select>
<input name=r id=r>
</form>
<script>
var arr=[["中国","日本","朝鲜","新加坡"],["英国","法国","意大利"],["美国","加拿大","巴西"]]
function chg(i){
with(document.fm.b){
length=0;
for(j=0;j<arr[i].length;j++)
options.add(new Option(arr[i][j],arr[i][j]))
document.fm.r.value=value+document.fm.a.value
}
}
chg(0);
</script>
Top
2 楼lsaturn(土星-站了一晚)回复于 2003-06-01 08:15:42 得分 0
多级关联菜单
<BODY>
<SELECT NAME="s1"><option>需要JavaScript才能正确显示</SELECT>
<SELECT NAME="s2"></SELECT>
<SELECT NAME="s3"></SELECT>
<SELECT NAME="s4"></SELECT>
<SCRIPT LANGUAGE="JavaScript">
<!--
//选择框的名字
selector = [ "s1", "s2", "s3", "s4" ];
//选择项: "名字", "值", 子选择
menu = [
"地球","1",
[
"中国","86",
[
"北京","BJ",
[
"--","1",null
],
"四川","SC",
[
"成都","28",null,
"乐山","",null,
"攀枝花","",null,
"自贡","",null,
"德阳","",null,
"绵阳","",null
]
],
"米国","1",
[
"加利福尼亚","CA",
[
"旧金山","1",null,
"洛杉矶","2",null
],
"华盛顿","WA",
[
"西雅图","seattle",null
]
]
],
"火星","2",
[
"大峡谷","86",
[
"小山丘","BJ",
[
"A地区","28",null,
"B地区","",null,
"C地区","",null
]
]
]
];
function wizz(level)
{
if( level == 0 )
a = menu;
else
{
str = "menu";
for( i=0; i<level; i++ )
str += "[" + (document.all[selector[i]].selectedIndex * 3 + 2) + "]";
a = eval(str);
}
if( a == null ) return;
s = document.all[selector[level]];
i = s.length;
while( i > 0 ) s.options[--i] = null;
while( i < Math.floor(a.length/3) )
s.options[i] = Option( a[i*3], a[i++*3+1] );
s.onchange = Function("wizz(" + (level+1) + ")");
wizz(level+1);
}
wizz(0);
//-->
</SCRIPT>
</BODY>
</HTML>
2.多级连动(二)
<select name=year></select>
<select name=month></select>
<select name=date></select>
<select name=clock></select>
<input name=result>
<script>
var arrSel=["year","month","date","clock"];//arrSel定义了要修改的下拉框和xml数据的节点名称
</script>
<xml id=xmldata>
<xmldata>
<year value="2000">
<month value="4">
<date value="14">
<clock value="一点" />
<clock value="三点" />
</date>
<date value="17">
<clock value="一点" />
</date>
</month>
<month value="5">
<date value="15">
<clock value="一点" />
<clock value="四点" />
<clock value="七点" />
</date>
</month>
</year>
<year value="2001">
<month value="7">
<date value="16">
<clock value="一点" />
<clock value="五点" />
<clock value="九点" />
</date>
</month>
</year>
</xmldata>
</xml>
<script>
function qswhXml(num){
/******* by qiushuiwuhen(2002-5-17) ********/
var i,j,arrTemp=[];
for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
if(num==arrSel.length){//这里处理最后的数据。
document.all("result").value="选中了("+arrTemp+")";return;
}
with(document.all(arrSel[num])){
length=0
var obj=document.all.xmldata.XMLDocument.childNodes[0];
for(i=0;i<num;i++)obj=obj.selectSingleNode(arrSel[i]+'[@value="'+arrTemp[i]+'"]');
for(i=0;i<obj.childNodes.length;i++)options[length++].text=obj.childNodes[i].getAttribute("value");
onchange=new Function("qswhXml("+(num+1)+")");
onchange();
}
}
qswhXml(0);
</script>
Top
3 楼karlure(田间)回复于 2003-06-01 08:35:12 得分 0
谢谢,马上给分,请问那两个下拉框如果要关联到数据库怎么办?例如第二个下拉框你用的是
赋初值的方法,我想连接到sql server,该怎么改呢,谢谢,我是新手:)Top
4 楼stationxp(Stan@BITI)回复于 2003-06-01 08:42:39 得分 0
使用xmlhttp,实现不离开当前页的情况下请求其他页,并得到返回结果Top




