0
我有結構這樣Woocommerce阿賈克斯濾波器,具有複選框
品牌
- 谷歌
- 蘋果
- 微軟
材料
- 木
- 金屬
- PLASTİK
基本上品牌&材料 - 是Woocomerce屬性,其餘的變量。
我現在的工作對AJAX的過濾器,我需要的URL看起來像這樣
http://example.com/shop?filter_brand=122,123&filter_material=134,45。
這裏,我有什麼到目前爲止,這code
HTML
<ul class="dd" data-termik="men">
<li>
<label for="">Men</label>
<input class="ajax-checkbox" data-term="men" data-id="31" type="checkbox">
</li>
<li>
<label for="">Boys</label>
<input class="ajax-checkbox" data-term="men" data-id="54" type="checkbox">
</li>
<li>
<label for="">Robots</label>
<input class="ajax-checkbox" data-term="men" data-id="76" type="checkbox">
</li>
</ul>
<hr>
<ul class="dd" data-termik="women">
<li>
<label for="">Women</label>
<input class="ajax-checkbox" data-term="women" data-id="12" type="checkbox">
</li>
<li>
<label for="">Girls</label>
<input class="ajax-checkbox" data-term="women" data-id="38" type="checkbox">
</li>
<li>
<label for="">Barbies</label>
<input class="ajax-checkbox" data-term="women" data-id="19" type="checkbox">
</li>
</ul>
JS
$(document).on('change', '.ajax-checkbox', function(e) {
var str = $(".ajax-checkbox:checked").map(function() {
var term = $(this).data('term');
var term_ids = [];
$('.ajax-checkbox:checked').each(function(index, value) {
var term_id = $(this).data('id');
term_ids.push(term_id);
});
term_ids_unique = $.unique(term_ids);
return term + '=' + term_ids_unique;
}).get();
var uniqueArray = str.filter(function(elem, pos) {
return str.indexOf(elem) == pos;
});
// FINAL URL
var final_url = uniqueArray;
console.log(final_url);
});
,但它不工作正確的。
請告訴我們,如果你點擊複選框,檢查控制檯恰恰是不正確 – Natecat
工作,你會發現,這些數據是錯誤的。我希望有像這樣的網址?filters_brand = 21,34&filters_color = 33,45。 '現在我已經''filters_brand = 21,34,33,45&filters_color = 21,34,33,45' –
移除了無意義的粗體 –