动态驱动onChange事件简单问题

keaizhong 2005-09-06 02:16:04
<select name="t" onChange="if(this.options[this.selectedindex].value == 3)alert('hello')">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script language="javascript">
document.all.t.value = '3';
document.all.t.change();//这句有错,想动态驱动onChange事件
</script>
...全文
223 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcmhl1 2006-01-18
  • 打赏
  • 举报
回复
果然是高手!
adandelion 2005-09-08
  • 打赏
  • 举报
回复
楼上强!MARK
keaizhong 2005-09-06
  • 打赏
  • 举报
回复
哈哈!!忘记我还有个低级错误的说,难怪怎么也没有用,不好意思。。


回复人: keaizhong(可爱钟)(19801010) ( ) 信誉:103 2005-09-06 14:52:00 得分: 0
---
“测试没有用”是因为:


selectedindex
--->>>selectedIndex

keaizhong 2005-09-06
  • 打赏
  • 举报
回复
document.all.t.onchange();
用这个好像不能正常运行的
要是
var d = document.all.t;
d.onchange();
这样子是可以的。

然后
(document.all.t).onchange();
这样子也行,多谢了。。

JK_10000 2005-09-06
  • 打赏
  • 举报
回复
1.也可以写成这样的:document.all.t.onchange();
2.但是这样的好理解一些:(document.all.t.onchange)();

onchange是一个event,而不是一个method,
第一种写法更象是个method,
但这一句话的执行过程应当是:
(document.all.t.onchange)返回一个function对象,
再加一个括号就是调用这个function;
keaizhong 2005-09-06
  • 打赏
  • 举报
回复
(document.all.t.onchange)();

这个没有错哦。。。真是奇怪这样子的格式哦。。
以前用过好像不是这样子的。。
keaizhong 2005-09-06
  • 打赏
  • 举报
回复
反正是类似于click()这样子的函数了。。
我以前用过的。。现在不晓得怎么得记不起来,也查不到了。。

以前阿信的无限级关联菜单里,我还特意让他加了这样子的功能的。。
现在连那个都找不到了。真是郁闷。。
JK_10000 2005-09-06
  • 打赏
  • 举报
回复
回复人: keaizhong(可爱钟)(19801010) ( ) 信誉:103 2005-09-06 14:52:00 得分: 0
---
“测试没有用”是因为:


selectedindex
--->>>selectedIndex
JK_10000 2005-09-06
  • 打赏
  • 举报
回复
<select name="t" onchange="if(this.options[this.selectedIndex].value == 3)alert('hello')">
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected >3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script language="javascript" >
(document.all.t.onchange)(); //请注意这里的两个括号。
</script>
adandelion 2005-09-06
  • 打赏
  • 举报
回复
<select name="t" id='t'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script language="javascript">
function setChange()
{
if(t.options[t.selectedIndex].value == 3)alert('hello');
}
document.all.t.value = 3;
//document.all.t.change();//这句有错,想动态驱动onChange事件
setChange()
</script>
----------------------------------
我查了没change()这个东东.
keaizhong 2005-09-06
  • 打赏
  • 举报
回复
谢谢楼上的。
这样子我会的。。
我只是忘记了一个内部函数,查也查不到。。

所以来发问了。
好像是change(),又好像是onchange(),但测试又没有用。。
bguest 2005-09-06
  • 打赏
  • 举报
回复
<select name="t" onChange="evtSelect()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script language="javascript">
document.all.t.value = '3';
evtSelect();//


function evtSelect(){
if(document.all.t.options[document.all.t.selectedIndex].value ==3){
alert('hello')
}
}
</script>

87,907

社区成员

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

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