请问关于动态加载select的options的问题

cutman 2007-02-07 05:23:29
加载之后想保留之前select选中的value,该如何处理
...全文
527 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgisir 2007-02-07
  • 打赏
  • 举报
回复
有点晕~ :) 把HTML也贴出来吧~
SAsura 2007-02-07
  • 打赏
  • 举报
回复
把你的函数放在body的onload里面,或着使用setTimeout('SetClassOptions',1);
你的问题应该是在文档没有准备好的时候就去读文档中控件的值,alert了以后文档就准备好了,所以没有问题
孟子E章 2007-02-07
  • 打赏
  • 举报
回复
没看明白你要实现什么功能
cutman 2007-02-07
  • 打赏
  • 举报
回复
是否弹出消息,对tmp这个变量有什么影响吗?
现在情况是,我把alert(1)处改为alert(tmp)的话,也确实能够弹出正确的value,但是不alert一下的话,就是获取不到
cutman 2007-02-07
  • 打赏
  • 举报
回复
觉得挺莫名其妙的。。。。 - -!
cutman 2007-02-07
  • 打赏
  • 举报
回复
先谢谢楼上各位回帖的

var ClassOfService = '0';
function SetClassOptions(classofservice)
{
ClassOfService = classofservice;
var eles = document.getElementsByTagName('Select');
for(var i=0;i<eles.length;i++)
{
if(eles[i].id.indexOf('class')>=0 )
{
var tmp = eles[i].value;

eles[i].length = 0;
eles[i].options[0] = new Option('--Select--','0');
eles[i].options[1] = new Option('Economy','2');
if(classofservice=='2')
{
eles[i].options[2] = new Option('Premium Economy','1');
eles[i].options[3] = new Option('Business','3');
}

//alert(1);
var itmp = parseInt(tmp);
switch(itmp)
{
case 1:

eles[i].value = 1;
break;
case 2:

eles[i].value = 2;
break;
case 3:

eles[i].value = 3;
break;
default:

break;

}
//alert("value:"+eles[i].value +"\n tmp:"+ tmp);
}
}
}

是这样,这个方法的作用是,调用之后,从新加载页面上select的options
如果不注释掉其中那句alert(1);,是没有问题的,但是如果注释掉,tmp这个变量就是空值
一下午弄到头都大了
孟子E章 2007-02-07
  • 打赏
  • 举报
回复
加载之后
保留之前的
这2个什么关系?怎么加载的?之前是啥时候?
gzdiablo 2007-02-07
  • 打赏
  • 举报
回复
完全不懂你说什么
煊烨 2007-02-07
  • 打赏
  • 举报
回复
objselect.value = prevalue

87,910

社区成员

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

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