免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 13146 | 回复: 20

[AJAX] AJAX中的javascript对下拉菜单的onChange事件的处理 [复制链接]

论坛徽章:
0
发表于 2006-01-05 07:56 |显示全部楼层
我在我的blog上用了一段aja*(返回数据没有使用xml)代码,来实现不刷新整个页面的option下拉菜单的更新。
具体参见
http://www.stud.uni-karlsruhe.de/~uu5i/blog/
页面的右下角achives
目前运行良好,如果仔细观察,发现存在一个bug.
即如果修改了年份选项,相邻的月份选项也将发生变化,点击就进入相应的页面.
但是,如果你选第一个选项,也就是刷新后默认选项就,就没有动作.

我估计bug的原因是我用了onChange事件来触发。ajax以后,整个选项都发生变化,按理点击任何一个选项都可以触发onchange事件。但实际上,默认的第一个选项不能触发该事件。

请问各位有何高见?

[ 本帖最后由 HonestQiao 于 2006-1-5 09:19 编辑 ]

论坛徽章:
0
发表于 2006-01-05 09:06 |显示全部楼层
加一个“请选择”的选项

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2006-01-05 09:19 |显示全部楼层
http://cws.yi.org/ajax

请参考。

论坛徽章:
0
发表于 2006-01-05 21:43 |显示全部楼层
你的例子我看到了,很好。但是需要安装xajax和学习使用它。我就这么一个小bug,这样做大动干戈了。
而且,多加一个"请选择",避开这个问题,也不是我希望的。

论坛徽章:
0
发表于 2006-01-06 10:21 |显示全部楼层
onchange 事件  .必须是value改变才会触发的 。
这个不能算bug,原本的处理机制就是这样的

论坛徽章:
0
发表于 2006-01-06 18:05 |显示全部楼层
我不是说是js的bug,而是我的bug。添加·请选择·是很容易避开这个问题,但是仍然不是最佳的解决方案。
在用ajax更新了下拉菜单以后,所有option的value都已经发生变化。所以因该不是这个问题。

论坛徽章:
0
发表于 2006-01-07 01:35 |显示全部楼层
主动触发即可以,即直接调用onchange()方法

论坛徽章:
0
发表于 2006-01-07 15:36 |显示全部楼层
不错的例子, 没见过楼主在java版出现过.

论坛徽章:
0
发表于 2006-01-07 18:09 |显示全部楼层
To crazysoul: 何谓主动触发,请大侠明示
To cooljia :我不用java,所以没去过java板块。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2006-01-08 17:01 |显示全部楼层
  1. <select name="test" size="1" onchange="javascript:alert(this.value);" onclick="javascript:if (document.selectkey!=1) {this.value=-1;document.selectkey=1;}" >
  2. <option value="1">a</option>
  3. <option value="2">b</option>
  4. <option value="-1">...</option>
  5. </select>
复制代码


一个折衷的办法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP