誰かが私を正しい方向に向けてくれることを願っています。私は主に PHP 開発者ですが、私たちが受け取る AJAX 作業要求の数が増えているため、jquery と javascript についてもっと理解しようとしています。
基本的に、問題なく動作するサイドバー フィルターがあります。それは3つのことに基づいています。グループ、カテゴリ、およびサブカテゴリ。たとえば、ブーツをカテゴリ、レザー (タイプ) をサブカテゴリ、ブラック (色) を 3 次フィルターにします。現時点ではGET
フォームに基づいて動作します。ただし、代わりにライブフィルターを使用して、をクリックするcheckbox
と、クエリに基づいて結果が更新されるようにします。このためのすべての PHP を作成できますが、jQuery でデータをまとめるのに苦労しています。jQuery.each
と.change
.
チェックボックスには 3 つのグループがあり、それらはすべて配列に基づいています。もう一度例を示します: category[]
, subcategory[]
, tertiary[]
.
助けてくれてありがとう。
HTML の例
<input id="$ProdCatLabel" class="side_filter_checkbox" name="ProdCatFil[]" type="checkbox" value="$ProdCat">
<input id="$ProdSubCatLabel" class="side_filter_checkbox" name="ProdSubCatFil[]" type="checkbox" value="$ProdSubCat">
<input id="$BrandingLabel" class="side_filter_checkbox" name="BrandFil[]" type="checkbox" value="$Branding">
私の試み:
var prodcats = $('side_filter_prodcats[name="ProdCatFil[]"]:checked')
.map(function() { return $(this).val() })
.get()
.join(",");
var prodsubcats = $('side_filter_prodsubcats[name="ProdSubCatFil[]"]:checked')
.map(function() { return $(this).val() })
.get()
.join(",");
$.ajax({
type: "POST",
url: "[ENTER PHP URL HERE]",
data: "ProdCats=" + prodcats + "ProdSubCats=" + prodsubcats,
success: function(msg) { $(".content_area").html(msg); }
});
ここで正しい木を吠えていますか?