CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

怎么不改变下拉选项也触发onchange?

楼主yesun(呆子鱼)2005-06-01 21:05:43 在 Web 开发 / JavaScript 提问

如果下拉的选项选择在同一个的时候,不会触发onchange,有什么办法能探测到下拉的改变(同一个选项也算改变)onpropertychange似乎太严格了,不符合我的要求! 问题点数:100、回复次数:14Top

1 楼leo963258(我劝天公重抖擞,不拘一格降人才)回复于 2005-06-01 21:18:50 得分 1

onclickTop

2 楼net_lover(【孟子E章】)回复于 2005-06-01 21:21:51 得分 10

你最好在执行onchange后执行一次把第一个选项选择上,例如  
   
  <select   onchange=a(this)>  
  <option>--请选择  
  <option>a  
  <option>b  
  </select>  
  <script>  
  function   a(x)  
  {  
  //执行你的操作  
  alert(x.options[x.selectedIndex].text)  
  x.options[0].selected=true  
  }  
  </script>Top

3 楼yesun(呆子鱼)回复于 2005-06-01 21:23:35 得分 0

onclick不行吧。选择还没有完成呢。  
  那根本就不用选了啊。点了就被触发了  
  我要的是选择完成,无论下拉被选择了什么都触发的事件有没有?  
  onchange就是当选择一样的时候没有触发Top

4 楼yesun(呆子鱼)回复于 2005-06-01 21:31:48 得分 0

多谢孟子E章的指点,但我不需要再选择第一项,否则这个下拉就没有意义了。  
  有没有onblur和onchange的合并的?Top

5 楼leo963258(我劝天公重抖擞,不拘一格降人才)回复于 2005-06-02 08:17:18 得分 1

onmouseout  
  Top

6 楼bflovesnow()回复于 2005-06-02 08:59:13 得分 10

 
  <select   onclick   =   "clk()">  
  <option>111111  
  <option>222222  
  <option>333333  
  <option>444444  
  </select>  
   
  <script>  
  var   b   =   false;  
  function   clk()  
  {  
  if(b)  
  {  
  alert('changed');  
  }  
  b   =   !b;  
  }  
  </script>  
   
  这样试了试,但发现如果选项不改变,连   click   事件也不行的......Top

7 楼yc_hgl(yc_hgl)回复于 2005-06-02 09:16:31 得分 1

我也存在这个问题,请教大家。  
  Top

8 楼mikespook(CSDN == 吹死大牛)回复于 2005-06-02 09:30:39 得分 15

<script   language="JavaScript">  
  var   flag;  
  </script>  
  <select   name="select"   onChange="javascript:window.alert('c');flag   =   false;"   onBlur="javascript:window.alert('s');flag   =   true;}">  
      <option   value="1"   selected>1</option>  
      <option   value="2">2</option>  
      <option   value="3">3</option>  
      <option   value="4">4</option>  
      <option   value="5">5</option>  
  </select>  
  这样,由于onBlur先于onChange触发,所以当选择不变时flag值为true,选择变化时flag值为falseTop

9 楼yesun(呆子鱼)回复于 2005-06-02 21:02:37 得分 0

<script   language="JavaScript">  
  var   flag;  
  </script>  
  <select   name="select"   onChange="javascript:window.alert('onChange');flag   =   false;"   onBlur="javascript:window.alert('onBlur');flag   =   true;">  
      <option   value="1"   selected>1</option>  
      <option   value="2">2</option>  
      <option   value="3">3</option>  
      <option   value="4">4</option>  
      <option   value="5">5</option>  
  </select>  
   
   
  怎么我觉得触发onChange的时候连onBlur也触发了Top

10 楼springwood(background-color:white)回复于 2005-06-02 21:18:11 得分 0

设置一个隐藏的selectTop

11 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-06-03 09:22:00 得分 20

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <TITLE>   New   Document   </TITLE>  
  </HEAD>  
   
  <BODY>  
  <script   language="JavaScript">  
  var   flag;  
  </script>  
  <select   name="select"   onblur="if(flag==true)javascript:window.alert(this.value);flag   =   false;"   onClick="flag   =   true;">  
      <option   value="1"   selected>1</option>  
      <option   value="2">2</option>  
      <option   value="3">3</option>  
      <option   value="4">4</option>  
      <option   value="5">5</option>  
  </select>  
  </BODY>  
  </HTML>Top

12 楼king2410(<职位空缺>→("︶.︶メ)( ̄ε ̄メ)←什么都不懂)回复于 2005-06-03 09:50:34 得分 2

楼上的方法可行Top

13 楼springwood(background-color:white)回复于 2005-06-03 11:50:29 得分 40

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <TITLE>   New   Document   </TITLE>  
  </HEAD>  
   
  <BODY>  
  <script   language="JavaScript">  
  function   test()   {  
  if   (document.all["hidSel"].selectedIndex   ==   0)   {  
  document.all["hidSel"].selectedIndex   =   1;  
  }   else   {  
  document.all["hidSel"].selectedIndex   =   0;  
  }  
  if   (document.all["hidSel"].selectedIndex   ==   0)   {  
  alert(111);  
  }  
  }  
  </script>  
  <select   name="select"   onclick="test()"   id   =   "Sel">  
      <option   value="1"   selected>1</option>  
      <option   value="2">2</option>  
      <option   value="3">3</option>  
      <option   value="4">4</option>  
      <option   value="5">5</option>  
  </select>  
  <select   style="display:none"   id="hidSel">  
      <option   value="1"   selected>1</option>  
      <option   value="2"   >2</option>  
  </BODY>  
  </HTML>  
  Top

14 楼springwood(background-color:white)回复于 2005-06-03 11:51:32 得分 0

试试吧,应该能满足你的要求Top

相关问题

  • DATAGRID中模板列中使用dropdownlist控件,当dropdownlist改变选项时触发的事件怎么写???
  • DATAGRID中模板列中使用dropdownlist控件,当dropdownlist改变选项时触发的事件怎么写???
  • 如何改变事件触发顺序?
  • hidden的值改变时触发事件
  • 当选取tabstrip里的一个选项卡里触发什么事件?
  • CTreeCtrl的选项改变问题
  • 下拉框onchange事件怎么不能触发?!
  • 为什么onChange事件没有被触发?
  • 如何用代码触发下拉框的onchange事件?
  • DateTimePicker数据改变时触发哪一事件?

关键词

得分解答快速导航

  • 帖主:yesun
  • leo963258
  • net_lover
  • leo963258
  • bflovesnow
  • yc_hgl
  • mikespook
  • fantiny
  • king2410
  • springwood

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo