选择相同项目时从组合框中获取事件

时间:2012-01-04 16:18:43

标签: javascript jquery html

我有几个HTML页面。标题包含一个组合,它允许通过选择不同的页面进行导航:A,B,C,D。

目前,我使用:

combo.change(function(){
  window.location=path;
});

但是我想选择A,即使A已被选中,也会重新设置页面。 我尝试过模糊或点击事件,但它不按照我想要的方式工作。

我知道这不是一个很棒的网页设计,但这是我的客户的要求。

3 个答案:

答案 0 :(得分:1)

combo.children('option').click(function(){
 window.location=path;    
});

小提琴:http://jsfiddle.net/z4H5R/1/

答案 1 :(得分:0)

即使要求非常简单,也没有直接解决方案。如果所有浏览器都支持选项标记的点击和关键事件,则可以修复此问题。

所以我要建议的一个解决方案是使用dropkick - 一个jQuery下拉插件。

<强> http://jamielottering.github.com/DropKick/

这个插件实际上隐藏了select元素并添加了一个代理下拉元素,其中实际上选项是带有标记的li元素。插件的编码方式使得即使新选择的选项是当前选项,它也会触发更改事件。您可以在第一个示例中看到它。它还支持键导航。

答案 2 :(得分:0)

我找到了一个很好的Jquery解决方案: 我的组合使用id =&#39; route&#39;是:

$("select#routes option").click(function(){
  console.log("Click on "+$("#routes").val());
  window.location= $("#routes").val();
});

$(&#34; select#routess选项&#34;)。click()表示我点击标签中的DOM标签。 它有效!