2016-05-19 13 views
0

このイベントがトリガしない理由についてのアイデアはありますか? SELECTが変更されたときJquery:selectイベントis not 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; 
      }) 
     });   

私もChromeでのFirebugを実行しているし、それがエラーを与えないチェックどのようなエラー。 Chromeで使用している人ですか?

+1

作業(.on 'に2つ目のパラメータの' .on' – Phiter

+1

通過の二番目のパラメータを削除) 'ことを意味していますその子孫のターゲット要素にイベントをアタッチします。 ** jQuery Forumが言っていること:イベントをトリガする選択された要素の子孫をフィルタリングするセレクタ文字列。セレクタがnullまたは省略されている場合、イベントは選択された要素に到達すると常にトリガされます。**ので、コード内の2番目のパラメータを削除します。 – 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; 
     }); 

OR

$("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"); 
});