javascript中在下拉列表中用数组选择省市

函数代码是这样的:functionchangeCity(){varprovince=document.myform.selProvince.value;document.... 函数代码是这样的:
function changeCity()
{
var province=document.myform.selProvince.value;
document.myform.selCity.options.length=0;
for (var i in cityList)
{
if (i == province)
{
for (var j in cityList[i])
{
document.myform.selCity.options.add(new Option(cityList[i][j], cityList[i][j]));
}
}
}
document.myform.selCity.options.selctIndex=0;
}

function AllCity(){
for (var i in cityList)
{
document.myform.selProvince.options.add(new Option(i, i));
}
document.myform.selProvince.selectedIndex = 0;
}
大体帮忙解释下几个 document 语句的意思。
谢谢!!!
展开
 我来答
战砜名彩虞圈9
2011-04-07 · TA获得超过280个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:111万
展开全部
function changeCity()
{
var province=document.myform.selProvince.value; //这里的document.myform.selProvince是页面中有个id是"myform"的表单(form),里面有个下拉列表,id是 selProvince,整个的意思就是取它的值,也就是选中的省。
document.myform.selCity.options.length=0; //把selCity下拉列表的选项清0
for (var i in cityList) //循环每一个cityList 的成员
{
if (i == province)
{
for (var j in cityList[i])
{
document.myform.selCity.options.add(new Option(cityList[i][j], cityList[i][j])); //给selCity下拉列表增加条目,也就是选择项。 每个下拉列表都有options集合,它add一个option对象就能增加一个条目
}
}
}
document.myform.selCity.options.selctIndex=0; //让celCity下拉列表选中第一个选项
}

function AllCity(){
for (var i in cityList)
{
document.myform.selProvince.options.add(new Option(i, i)); //为selProvince下拉列表增加一个省份选项
}
document.myform.selProvince.selectedIndex = 0; //让省份下拉列表选中第一个选项。
}

其实 document.myform.selProvince 这样的写法不好,不一定每个浏览器都支持,IE以外的浏览器很可能会报错。正确的写法是 document.getElementById("下拉列表ID") ,这样的写法走到哪里都不会出错。
泡芙可爱如猪TV
2011-04-07 · TA获得超过1271个赞
知道小有建树答主
回答量:1393
采纳率:0%
帮助的人:898万
展开全部
va" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<script type="text/javascript" charset="utf-8">
var sele1;
var sele2;
var sele3;
var sele4;
var sele5;
var i1;
var i2;
var i3;
var i4;
var i5;
function initVars(){
sele1=document.getElementById('s1');//get select1 object
sele2=document.getElementById('s2');//get select2 object
sele3=document.getElementById('s3');//get select3 object
sele4=document.getElementById('s4');//get select4 object
sele5=document.getElementById('s5');//get select5 object
}
function judgeValue(select){
initVars();
i1=sele1.selectedIndex;
i2=sele2.selectedIndex;
i3=sele3.selectedIndex;
i4=sele4.selectedIndex;
i5=sele5.selectedIndex;
var a=new Array(i1,i2,i3,i4,i5);

var i=0,k;
for(k=0;k<5;k++){
if(select.selectedIndex==a[k]){
i++;
}
}
if(i>1){
alert('该数字已选,请重选!');
select.selectedIndex=0;
return false;
}

}
</script>
<title>display</title>
</head>
<body>
1.
<select id="s1" onchange="judgeValue(this);">
<option>
--请选择--
</option>
<c:forEach items="$" var="p" varStatus="i">
<option>
$
</option>
</c:forEach>
</select>

2.
<select id="s2" onchange="judgeValue(this);">
<option>
--请选择--
</option>
<c:forEach items="$" var="p" varStatus="i">
<option>
$
</option>
</c:forEach>
</select>

3.
<select id="s3" onchange="judgeValue(this);">
<option>
--请选择--
</option>
<c:forEach items="$" var="p" varStatus="i">
<option>
$
</option>
</c:forEach>
</select>

4.
<select id="s4" onchange="judgeValue(this);">
<option>
--请选择--
</option>
<c:forEach items="$" var="p" varStatus="i">
<option>
$
</option>
</c:forEach>
</select>

5.
<select id="s5" onchange="judgeValue(this);">
<option>
--请选择--
</option>
<c:forEach items="$" var="p" varStatus="i">
<option>
$
</option>
</c:forEach>
</select>
</body>
</html>

已经发给楼主了..

祝楼主早日成功!!!
追问
我做的是网页。貌似这样做如果选项多了是不是会很麻烦?
刚开始学,大体意思能看懂。细节稍微有点纠结。不过还是谢谢你的解答和鼓励!#18
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式