js options

laipi888 2010-07-07 03:59:34
function changelocation1(select3,localtionid1){
select3.length = 0;
var loc1 = localtionid1;
select3.options[select3.length] = new Option("","");
for(var j=0; j<subcat1.length;j++){
if(null == loc1 || loc1 == ""){
select3.options[select3.length] = new Option(subcat1[j][0],subcat1[j][0]);
}else if(loc1 == subcat1[j][1]){
select3.options[select3.length] = new Option(subcat1[j][0],subcat1[j][0]);
}
}
}


js中options也就是红色部分索引值是怎么改变的在代码中并没有发现类似++的代码,那么它的索引值是怎么改变的
...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wohaishiliumang 2010-07-07
  • 打赏
  • 举报
回复
为什么是select3.length = 0 不是select3.options.length =0
mykelly6 2010-07-07
  • 打赏
  • 举报
回复
这个option的index是从0开始算的啊,所以其实最多只能到select3.options[select3.length-1]

而select3.options[select3.length]new Option(subcat1[j][0],subcat1[j][0]);这句执行以后呢select3的length已经是select3.length+1了
laipi888 2010-07-07
  • 打赏
  • 举报
回复
非常感谢
foolbirdflyfirst 2010-07-07
  • 打赏
  • 举报
回复
		var sl = function(){
this.length++;
}
var obj = [];
obj[obj.length] = new sl();
obj[obj.length] = new sl();
obj[obj.length] = new sl();
obj[obj.length] = new sl();
obj[obj.length] = new sl();
alert(obj.length)
孟子E章 2010-07-07
  • 打赏
  • 举报
回复
select3.options[select3.length] = new Option
这一行,就是增加了一个option,length当然是加了1
laipi888 2010-07-07
  • 打赏
  • 举报
回复
嗯,这个我明白了,但是那个new一次就加1是什么原因
happy664618843 2010-07-07
  • 打赏
  • 举报
回复
select3.length = 0;
你每次触发onchange事件是时候就给它清空了options
laipi888 2010-07-07
  • 打赏
  • 举报
回复
为什么,能不能说一下原因
孟子E章 2010-07-07
  • 打赏
  • 举报
回复
你new Option一个之后,length就加1了
laipi888 2010-07-07
  • 打赏
  • 举报
回复
就是没有类似于select3.length++的代码,没有相加程序,他的索引值怎么改变的,应该一直都是0的
孟子E章 2010-07-07
  • 打赏
  • 举报
回复
类似++的代码?啥意思?

87,917

社区成员

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

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