次のコードがあります。
<label class='checkbox'><input type='checkbox' class='custom_filter' name='kleuren' value='Blauw' data-taxonomy='kleuren' data-category='Blauw'> Blauw (4) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='kleuren' value='Rood' data-taxonomy='kleuren' data-category='Rood'> Rood (2) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='kleuren' value='Wit' data-taxonomy='kleuren' data-category='Wit'> Wit (2) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='kleuren' value='Zwart' data-taxonomy='kleuren' data-category='Zwart'> Zwart (1) </label>
<label>provincies</label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Drenthe' data-taxonomy='provincies' data-category='Drenthe'> Drenthe (6) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Flevoland' data-taxonomy='provincies' data-category='Flevoland'> Flevoland (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Friesland' data-taxonomy='provincies' data-category='Friesland'> Friesland (6) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Groningen' data-taxonomy='provincies' data-category='Groningen'> Groningen (5) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Limburg' data-taxonomy='provincies' data-category='Limburg'> Limburg (2) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Noord-Brabant' data-taxonomy='provincies' data-category='Noord-Brabant'> Noord-Brabant (2) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Noord-Holland' data-taxonomy='provincies' data-category='Noord-Holland'> Noord-Holland (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Overijssel' data-taxonomy='provincies' data-category='Overijssel'> Overijssel (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Utrecht' data-taxonomy='provincies' data-category='Utrecht'> Utrecht (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Zeeland' data-taxonomy='provincies' data-category='Zeeland'> Zeeland (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='provincies' value='Zuid-Holland' data-taxonomy='provincies' data-category='Zuid-Holland'> Zuid-Holland (0) </label>
<label>stijlen</label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Amerikaans' data-taxonomy='stijlen' data-category='Amerikaans'> Amerikaans (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Cabriolet' data-taxonomy='stijlen' data-category='Cabriolet'> Cabriolet (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Duits' data-taxonomy='stijlen' data-category='Duits'> Duits (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Engels' data-taxonomy='stijlen' data-category='Engels'> Engels (8) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Frans' data-taxonomy='stijlen' data-category='Frans'> Frans (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Italiaans' data-taxonomy='stijlen' data-category='Italiaans'> Italiaans (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Klassiek' data-taxonomy='stijlen' data-category='Klassiek'> Klassiek (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Luxe' data-taxonomy='stijlen' data-category='Luxe'> Luxe (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='stijlen' value='Modern' data-taxonomy='stijlen' data-category='Modern'> Modern (0) </label>
<label>merken</label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='Austin' data-taxonomy='merken' data-category='Austin'> Austin (7) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='Bentley' data-taxonomy='merken' data-category='Bentley'> Bentley (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='BMW' data-taxonomy='merken' data-category='BMW'> BMW (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='Cadillac' data-taxonomy='merken' data-category='Cadillac'> Cadillac (1) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='Chevrolet' data-taxonomy='merken' data-category='Chevrolet'> Chevrolet (0) </label>
<label class='checkbox'><input type='checkbox' class='custom_filter' name='merken' value='Chrysler' data-taxonomy='merken' data-category='Chrysler'> Chrysler (0) </label>
これは、データベース クエリにフィルターを適用するために使用されるフォームを表します。各フィルターがクリックされた後 (チェックボックスが設定されている)、URL HASH が更新され、次のようになる必要があります。
#provincies=Drehte,Noord-Brabant&kleuren=Wit,Rood
これは、選択した州と色がチェックされている場合の例です。
私はやろうとしました
var filters = jQuery("#CUSTOM_AJAX_FILTERS").serializeArray();
ここで、filters var はフォームからすべてのデータを配列として取得しますが、常に空の配列を返します。また、data-taxonomy と data-category (Taxonomy = category; & category = filter ) を取得し、window.location.hash で URL ハッシュを取得して、すべてを分割し、新しいデータを追加するか、削除するなどを試みました。しかし、それは良い選択ではありません。
ページを更新せずに ajax を使用して、チェックボックスをオンにして URL ハッシュを簡単に構築する他の解決策があれば教えてください。
ありがとう!