怎么得到select的选项个数?

zjfzju 2004-08-07 07:08:11
我的代码:
<html>
<body>
<select name="day" onChange="change()">
<option>超级用户</option>
<option>高级用户</option>
<option>普通用户</option>
</select>

</body>
<script language="javascript">
function change()
{
alert(document.day.options.length);
}
</script>
</html>

options怎么会出错呢
...全文
469 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
191301587 2004-08-09
  • 打赏
  • 举报
回复
document.day.options.length有错==〉document.all.day.options.length
wanghr100 2004-08-08
  • 打赏
  • 举报
回复
<html>
<body>
<select name="day" onChange="change()">
<option>超级用户</option>
<option>高级用户</option>
<option>普通用户</option>
</select>

</body>
<script language="javascript">
alert(document.all.day.options.length);
</script>
</html>
vikingldp 2004-08-08
  • 打赏
  • 举报
回复
this.form.options.length
超级大笨狼 2004-08-08
  • 打赏
  • 举报
回复
<form id=f>
年<SELECT id=s1 name=s1 onchange="vbs:aaa"></SELECT>
月<SELECT id=s2 name=s2 onchange="vbs:aaa"></SELECT>
日<SELECT id=s3 name=s3></SELECT>
</form>
<SCRIPT LANGUAGE=vbscript>
'初始年
MyAdd "f.s1",1970,2050
'初始月
MyAdd "f.s2",1,12
'初始日
MyAdd "f.s3",1,31
sub MyAdd(S,x,y)'增加
set obj=eval(S)
for i=x to y
set o=document.createElement("OPTION")
o.text=i
o.value=i
obj.add o
next
end sub
sub MyRemove(S)'删除
set obj=eval(S)
for each opt in obj.options
obj.remove opt.index
next
end sub
sub aaa'自定义过程,用来改变s3日期
dim mydate,maxdate
'先清空全部,最好从28号以后清空,但是这样效率低人感觉不到,偷点懒不是罪
MyRemove "f.s3"
for i=1 to 31
mydate=f.s1.value & "-" & f.s2.value & "-" & i
if isdate(mydate) then '判断是否是有效日期
maxdate=i
else
exit for
end if
next
MyAdd "f.s3",1,maxdate
end sub
</SCRIPT>











<script language="JavaScript">
function initDate() {
var obj=document.all['dateform'];
var y=obj.year;
var m=obj.month;
var d=obj.date;
for (var i=1900;i<2004;i++) {
y.options.length=y.options.length+1;
y.options[y.options.length-1].text=y[y.options.length-1].value=i;
}
y.value=1978;
for (var i=0;i<12;i++) {
m.options.length=i+1;
m[i].value=i+1;
if (i<9) {
m.options[i].text="0"+(i+1);
} else {
m.options[i].text=i+1;
}
}
m.value=1;
for (var i=0;i<31;i++) {
d.options.length=i+1;
d[i].value=i+1;
if (i<9) {
d.options[i].text="0"+(i+1);
} else {
d.options[i].text=i+1;
}
}
d.value=1;
}
function setDate(obj) {
var y=obj.year.value;
var m=obj.month.value;
var d=obj.date;
var arrd=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (y%4==0) arrd[1]=29;
var md=arrd[m-1];
if (d.options.length>md) {
var index=d.value;
d.options.length=md;
if (index<md) {
d.value=index;
} else {
d.value=md;
}
}
if (d.options.length<md) {
for (var i=d.options.length;i<md;i++) {
d.options.length=d.options.length+1;
d[i].value=d.options[i].text=i+1;
}
}
}
</script>
<body onLoad="initDate()">
<form name="dateform">
<select name="year" onChange="setDate(this.form)"></select>年
<select name="month" onChange="setDate(this.form)"></select>月
<select name="date"></select>日
</form>
</body>


<form id=f>
年<SELECT id=s1 name=s1 onchange="vbs:aaa"></SELECT>
月<SELECT id=s2 name=s2 onchange="vbs:aaa"></SELECT>
日<SELECT id=s3 name=s3></SELECT>
</form>
<SCRIPT LANGUAGE=vbscript>
dim yearBegin : yearBegin = 1970
dim yearEnd : yearEnd = 2050
'初始年
MyAdd "f.s1",yearBegin,yearEnd
'初始月
MyAdd "f.s2",1,12
'初始日
MyAdd "f.s3",1,31
f.s1.selectedIndex = year(now()) - yearBegin
f.s2.selectedIndex = month(now()) - 1
f.s3.selectedIndex = day(now()) - 1
sub MyAdd(S,x,y)'增加
set obj=eval(S)
for i=x to y
set o=document.createElement("OPTION")
o.text=i
o.value=i
obj.add o
next
end sub
sub MyRemove(S)'删除
set obj=eval(S)
for each opt in obj.options
obj.remove opt.index
next
end sub
sub aaa'自定义过程,用来改变s3日期
dim mydate,maxdate
'先清空全部,最好从28号以后清空,但是这样效率低人感觉不到,偷点懒不是罪
MyRemove "f.s3"
for i=1 to 31
mydate=f.s1.value & "-" & f.s2.value & "-" & i
if isdate(mydate) then '判断是否是有效日期
maxdate=i
else
exit for
end if
next
MyAdd "f.s3",1,maxdate
end sub
</SCRIPT>
littleboys 2004-08-08
  • 打赏
  • 举报
回复
<script language="javascript">
function change()
{
alert(document.all.day.options.length);
alert(document.getElementsByName('day')[0].options.length);
}
</script>
jzywh 2004-08-08
  • 打赏
  • 举报
回复
alert(document.all("day").options.length);
ice_berg16 2004-08-07
  • 打赏
  • 举报
回复
alert(document.all.day.options.length);
ib915 2004-08-07
  • 打赏
  • 举报
回复
<html>
<body>

<select id="day" onChange="change()">
<option>超级用户</option>
<option>高级用户</option>
<option>普通用户</option>
</select>

</body>
<script language="javascript">
function change()
{
alert(day.options.children.length);
}
</script>
</html>

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧