2016-12-26 5 views
0

私は2つのAjaxフォームを使用して、ワードプレスのWebサイトの同じページにある投稿をフィルタリングします。これらの2つは、フィルタリングポストを別々にしています。ここでどのように2つのAjaxフォームをマージしますか

今私は一つにこれら二つをマージしようとしているmのリンクTest Server

です。その後、その結果はOne formと表示されます。

マージ2 Ajaxフォームを1に変換する方法

スクリプト形式:1

jQuery(document).ready(function($){ 
$('#test .br').click(function(){ 

// declaring an array 
var choices = {}; 

$('.contents').remove(); 
$('.filter-output').empty() 

console.log(choices); 
$.ajax({ 
    url: ajaxobject.ajaxurl, 
    type :'POST', 
    data : { 
     'action' : 'call_post', 
     'choices' : choices, 
    }, 

    success: function (result) { 
     $('.filter-output').append(result); 

    }  
    }); 
    }) 
}); 

スクリプトフォーム:2

jQuery(function($){ 
$('#filter').submit(function(){ 
    var filter = $(this); 
    $.ajax({ 
     url:filter.attr('action'), 
     data:filter.serialize(), // form data 
     type:filter.attr('method'), // POST 
     beforeSend:function(xhr){ 
      filter.find('button').text('Processing...'); // changing the button label 
     }, 
     success:function(data){ 
      filter.find('button').text('Apply filter'); // changing the button label back 
      $('#response').html(data); // insert data 
     } 
    }); 
    return false; 
}); 
}); 
+0

あなたがそうあなたが最初のAJAX呼び出しを実行し、フォームを送信し、第二AJAX呼び出しを実行するためにwnat BRクラスのクリックで、単一のJavaScriptとAJAX呼び出し機能 – vel

+0

を使用することができますか? –

+0

はい、結果は両方の組み合わせになります。両方のフィルタ値を持つ投稿を意味します.. – FRQ6692

答えて

1

あなたはこのようにしたいですか?

  jQuery(document).ready(function($){ 
       $('#test .br,#filter').click(function(){ 
       var ChkClick = $(this).attr("id"); 

       if(ChkClick=='filter'){ 
         $('#filter').submit(function(){ 
         var filter = $(this); 
         $.ajax({ 
          url:filter.attr('action'), 
          data:filter.serialize(), // form data 
          type:filter.attr('method'), // POST 
          beforeSend:function(xhr){ 
           filter.find('button').text('Processing...'); // changing the button label 
          }, 
          success:function(data){ 
           filter.find('button').text('Apply filter'); // changing the button label back 
           $('#response').html(data); // insert data 
          } 
         }); 
         return false; 


       }else{ 
       // declaring an array 
        var choices = {}; 
        $('.contents').remove(); 
        $('.filter-output').empty() 

        $.ajax({ 
         url: ajaxobject.ajaxurl, 
         type :'POST', 
         data : { 
          'action' : 'call_post', 
          'choices' : choices, 
         }, 
         success: function (result) { 
          $('.filter-output').append(result); 

         }  
         }); 
        } 
       }) 
      }); 
関連する問題