链接使用更改跳转菜单选择jQuery

时间:2013-01-26 05:01:40

标签: jquery jquery-plugins chained

我正在使用Chained选择jQuery插件http://www.appelsiini.net/projects/chained

但我想在第二个选择元素中添加一个jumpmenu,即需要点击提交。如果我使用处理程序更改,则会在链接脚本上触发。

  $(function(){
      $("#spotCat").chained("#locationCat"); 
      $("#spotCat").change(function(){
        window.location.href = $(this).val();
      });
  });

我不确定解决这个问题的最佳途径?当您“点击”选择下拉箭头时会触发点击时触发的事件?

2 个答案:

答案 0 :(得分:0)

基于插件功能的方式(具体来说,它在填充依赖选项列表时始终保留选择的第一个项目的方式),您只需要向匿名if添加一个change事件处理函数:


if ($(this).find("option:selected").index() !== 0) {

演示(打开浏览器的开发人员工具,然后转到控制台,查看事件逻辑何时触发 - 或更多内容,当它不触发时): http://jsfiddle.net/ywn6G/

上下文中的if


$(function(){
    $("#spotCat").chained("#locationCat"); 
    $("#spotCat").change(function(){
        if ($(this).find("option:selected").index() !== 0) {
            window.location.href = $(this).val();
        }
    });
 });

答案 1 :(得分:0)

以下方式似乎对我有用,它的工作原理是因为除非它处于焦点位置,否则不会触发模糊事件。改变事件没有给出。

$(function(){
      $("#spotCat").chained("#locationCat"); 
  $("#spotCat").change(function(){      
        this.blur()
  });
  $("#spotCat").blur(function(){
        if($(this).val().length !== 0) {
          window.location.href = $(this).val();
        }
  });

});