2016-10-14 11 views
0

jqueryとスライダチェックボックスなどのいくつかの入力プラグインを使用しています。 しかし、私はフォーム変更の提出(GETフィルタリング)を行っています。 プラグインが入力値フィールドを変更すると、アクションはトリガされません。ユーザーがそれを行った場合のみです。jqueryを入力用プラグインと組み合わせて入力

$(document).on('change', '.form-onchange-submit', function (e) { 
    $(this).submit(); 
}); 

そして、例えば、私はSELECT_ALLをクリックしたときに、フォームの自動提出させるにはどうすればよいのすべて

$(document).on('click', ".select_all", function (e) { 
    e.preventDefault(); 
    var fields = $(this).data('fields'); 
    $("input[name='" + fields + "']").prop('checked', true); 
    $("input[name='" + fields + "']").each(function() { 
     var input_id = $(this).attr('id'); 
     $('label[for="' + input_id + '"]').removeClass('selectable-deselected').addClass('selectable-selected'); 
    }); 
}); 

を選択するために、このコードを使用しますか?

+0

クリック機能の終了時に手動でトリガそれを$として( 'フォームのonchange-提出')。トリガー( "変更") – nivendha

答えて

0

2つのイベントを組み合わせたいと思うようです。複数のイベントを複数のセレクタと組み合わせることができます。

    チェックイベントタイプ e.type
  • チェック要素ID e.target.id

$(".select_all, #form-onchange-submit").on("click change", function(e){ 
    if(e.type === "change"){ 
     //DO STUFF UNIQUE TO CHANGE 
    } 
    else if(e.type === "click") { 
     //DO STUFF UNIQUE TO CLICK 
    } 
    //DO STUFF THAT IS THE SAME 
}); 

  • そして、あなたがイベントをトリガしたい場合は、手動であなたにも.trigger()を使用することができます。

    $('#element').trigger('click'); 
    
  • 0
     $(".select_all").click(function(e) { 
         e.preventDefault(); 
         var fields = $(this).data('fields'); 
         $("input[name='" + fields + "']").prop('checked', true); 
         $("input[name='" + fields + "']").each(function() { 
          var input_id = $(this).attr('id'); 
          $('label[for="' + input_id + '"]').removeClass('selectable-deselected').addClass('selectable-selected'); 
         }); 
        $('.form-onchange-submit').submit(); 
        }); 
    
    関連する問題