2016-09-26 6 views
-1

私はWPクエリのためのajaxリクエストで検索結果をフィルタリングしたいと思います。 1つのチェックされたオプションで動作し、2番目のオプションでブレークします。 例データ値:マンション、タウンハウス

jQueryの/ AJAX

category = []; 
       jQuery('.rpd_category:checked').each(function() { 
        category.push(jQuery(this).attr('data-value'));            
       }); 

data: { 
     'category_values' : [category], 
}, 

console.log(category) = ["apartments", "townhomes"] 

PHP

$taxcateg_include = $_POST['category_values']; 

$categ_array=array(
      'taxonomy' => 'property_category', 
      'field' => 'slug', 
      'terms' => array($taxcateg_include), 
     ); 

echo $taxcateg_include = apartments,townhomes 

私がして、各要素と別々の要素に単一引用符を追加しますコンマおよびスペース "、" .. "

目標:

'terms' => array('apartments', 'townhomes'), 

私は内破使用してみましたが、動作しませんか? $_POST['category_values']は要素を文字列として返しますか?

jQueryで何か別のことをしているはずですか?

お答えいただきありがとうございます。 PHPあなたドンで

data: { 
     'category_values' : category// this is already an array you pushed to 
} 

data: { 
     'category_values' : [category], 
} 

:あなたはjavascriptの変更であなたのjavascriptにとPHP

に両方の外側の配列で既存のアレイをラップ物事を複雑に超えている

+0

達成したいことは間違いありません。 –

+0

あなたが得ているエラーと予想される出力を教えてください。 –

+0

私は達成したいものを知っています。それを達成する方法を失っただけです。申し訳ありませんが、これの多くの経験はありませんでした。 – Jeff

答えて

0

既に持っている配列とまったく同じ新しい配列を作成する必要はありません。

$taxcateg_include = $_POST['category_values'];// is already an array 

$categ_array=array(
      'taxonomy' => 'property_category', 
      'field' => 'slug', 
      'terms' => $taxcateg_include // is array 
     ); 
+0

上記の例に変更してから、$ taxcateg_include = townhomesを両方のオプションでエコーして返信いただきありがとうございました。( 'apartments'、 'townhomes') – Jeff

+0

それほど明確ではありません...あなたが必要としているかどうかですか?もしあなたがAjaxコードの多くを表示しなければならない場合は、 – charlietfl

+0

を残す必要があります。申し訳ありませんが、2番目のオプションをチェックして1番目の要素を削除するようには見えないので、( 'apartments'、 'townhomes')の代わりにtownhomesチェックボックスにチェックが入っています。 – Jeff

0

私はあなたが何をしようとしていると思います。 POSTされた文字列を配列に変換し、$categ_array['terms']に追加しますか?試してみてください:

// Assuming $_POST['category_values'] === 'apartments,townhomes'; 
$taxcateg_include = explode(',' $_POST['category_values']); 
$categ_array= array(
    'taxonomy' => 'property_category', 
    'field' => 'slug', 
    'terms' => $taxcateg_include 
); 
関連する問題