用js如何调用select的onchange()事件

software5168 2007-03-14 05:48:06
<select id='a' name='a' onchange='javascript:a();'>
<option value='a' seleted>a</option>
<option value='b'>b</option>
<option value='c'>c</option>
</select>

请问要怎样用js触发select的onchange事件?下面是我出错的代码
<script language='javascript'>
document.getElementById("a").options[2].selected=true;
document.getElementById("a").onchange();
</script>
...全文
40667 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
a597926661 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 software5168 的回复:]
<select id= 'a ' name= 'a ' onchange= 'javascript:a(); '>
<option value= 'a ' seleted> a </option>
<option value= 'b '> b </option>
<option value= 'c '> c </option>
</select>

请问要怎……
[/Quote]楼主想问什么问题 JS触发onchange事件? onchange不是你change下拉列表某一选项时触发吗 你要做的就是写好你的 a()方法就行了啊 如果你想实现onchange事件的可控制你可以在a()函数里加控制语句


function a(){
//需要实现控制可以加if() while()实现

alert("111");
}




<select id= 'a ' name= 'a ' onchange= "a()">
<option value= 'a ' seleted> a </option>
<option value= 'b '> b </option>
<option value= 'c '> c </option>
</select>

FF已测试 另外 事件和函数的处理上IE与FF是不一样的 event="functionname()"是两者都支持的事件订购方法 才疏学浅 希望对楼主有帮助
ytftdkjcel 2012-03-01
  • 打赏
  • 举报
回复
<BODY>
<select id= 'a' name= 'a ' onchange= a(this)>
<option value= 'a ' seleted> a </option>
<option value= 'b '> b </option>
<option value= 'c '> c </option>
</select>


</BODY>
<script language= 'javascript'/>
function a(s){
alert(s.selectedIndex);
}

document.getElementById('a').options[1].selected=true;
a(document.getElementById("a"));

</script>
昨日凡阳 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ywb1973 的回复:]

把这一段
<script language= 'javascript '>
document.getElementById( "a ").options[2].selected=true;
document.getElementById( "a ").onchange();
</script>
改为
<script language= 'javascrip……
[/Quote]

不过firefox可能不支持。
sd722522 2012-02-29
  • 打赏
  • 举报
回复
你把alert写到script 里面
zm_hs 2012-02-29
  • 打赏
  • 举报
回复

<select id= 'a ' name= 'a ' onchange= 'javascript:a(); '>
<option value= 'a ' seleted> a </option>
<option value= 'b '> b </option>
<option value= 'c '> c </option>
</select>

请问要怎样用js触发select的onchange事件?下面是我出错的代码
<script language= 'javascript '>
document.getElementById( "a ").options[2].selected=true;
document.getElementById( "a ").change();
</script>
a555212 2008-12-22
  • 打赏
  • 举报
回复
不对啊,ff不支持onchange
Rick_ang 2007-03-14
  • 打赏
  • 举报
回复
<script language='javascript'>function a(){alert("11");} </script>
<select id='a' name='a' onchange='javascript:a();'/>
这不就完了么,怎么可能不触发呢
如果你写这个document.getElementById("a").onchange();的话,就会一直递归调用自己,也就会出现错误:Stack Overflow
ywb1973 2007-03-14
  • 打赏
  • 举报
回复
<select id='a' name='a' onchange='javascript:a();'>
这句就已经是调用a()了,你再在a()里面调用onchange,就不对了

你照我说的,肯定没有问题,因为我已经测试过了
software5168 2007-03-14
  • 打赏
  • 举报
回复
回:fashi1000(黄泉)
请问eval()要怎么用了?
回:lip009(深蓝忧郁)
a();我省略了没写; <script language='javascript'>function a(){alert("11");} </script>
现在问题是列表值变成c了,但是alert事件并没有触发。请问应该怎么改?
回:ywb1973(谁)(★☆◎☆★)
document.getElementById("a").onchange();不能删,我的目的是通过这句调用到a();但是列表值变了,事件没触发

ywb1973 2007-03-14
  • 打赏
  • 举报
回复
把这一段
<script language='javascript'>
document.getElementById("a").options[2].selected=true;
document.getElementById("a").onchange();
</script>
改为
<script language='javascript'>
function a(){
document.getElementById("a").options[2].selected=true;
}
</script>
即可,后面一行(document.getElementById("a").onchange();)要删掉,不然就成递归调用了
lip009 2007-03-14
  • 打赏
  • 举报
回复
调用方法是正确的,只是这里的方法a();不存在,所以会报错
<select id='a' name='a' onchange='javascript:a();'>
修改为:
<select id='a' name='a' onchange="javascript:alert('测试');">
fashi1000 2007-03-14
  • 打赏
  • 举报
回复
eval()

81,122

社区成员

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

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