2016-05-19 3 views
0

Любые идеи о том, почему это событие не запускается?JQuery: select event isnt triggered

Ничего не происходит, когда ВЫБРАТЬ изменяется:

<select class="filterChange"> 
    <option value="all">all</option> 
    <option value="Sam">Sam</option> 
    <option value="Joan">Joan</option> 
    <option value="Eve">Eve Abagail</option> 
</select> 

Код Jquery является следующее:.»

 $('document').ready(function(){ 

     // Filter changes 
     $("select.filterChange").on("change", "select", function() { 
       alert("boo"); 
       $.ajax({ 
        type: 'POST', 

        url: 'inc/changeField.php', 
        data: { 
         'foo': 'bar', 
         'var': 'variable' 
        }, 
        success: function(msg){ 
         alert('wow' + msg); 
        } 
       }); 
       return false; 
      }) 
     });   

Я также работает Firebug в Chrome и он не дает никаких ошибок, что проверка ошибок инструментом являются люди, использующие в Chrome?

+1

Удалить второй параметр на '.on' – Phiter

+1

прохождение второго параметра' .on() 'означает, что для присоединения события к этому целевому элементу-потомку. ** что jQuery Forum говорит: Селекторная строка для фильтрации потомков выбранных элементов, которые запускают событие. Если селектор имеет значение null или опущен, событие всегда запускается, когда оно достигает выбранного элемента. **, поэтому удалите второй параметр в вашем коде. – dreamweiver

ответ

2

Попробуйте следующее:

$(document).on("change", "select.filterChange", function() { 
      alert("boo"); 
      $.ajax({ 
       type: 'POST', 

       url: 'inc/changeField.php', 
       data: { 
        'foo': 'bar', 
        'var': 'variable' 
       }, 
       success: function(msg){ 
        alert('wow' + msg); 
       } 
      }); 
      return false; 
     }); 

ИЛИ

$("select.filterChange").on("change", function() { 
       alert("boo"); 
       $.ajax({ 
        type: 'POST', 

        url: 'inc/changeField.php', 
        data: { 
         'foo': 'bar', 
         'var': 'variable' 
        }, 
        success: function(msg){ 
         alert('wow' + msg); 
        } 
       }); 
       return false; 
      }); 
1

Нажмите here Это работает example.`

$('select').on("change", function() { 
alert("boo"); 
});