Iga
Гуру форума
- Регистрация
- 12 Янв 2014
- Сообщения
- 425
- Реакции
- 83
- Автор темы
- #1
Мне тут один программер напрограммировал...
В общем сайт на WP, установлен плагин фильтрации facet. Там по-умолчанию поля поиска по цене и по ID работают через доп. кнопку "go". Т.е., чтобы отфильтровать по цене, нужно сначала ввести диапазон цены, затем нажать кнопку "go", и после этого уже основную кнопку фильтра "поиск".
Задача была поставлена сделать так, чтобы фильтрация работала без этой промежуточной кнопки "go".
Задача была выполнена, но спустя какое-то время, обнаружили глюки, исходящие от этого скрипта.
В частности, если в нормальном браузере вводить что-то в форму связи, то в адресной строке появляется ?fwp_lot_number_facet=?fwp_lot_number_facet=?fwp_lot_number_facet= с каждым введённым символом. В эксплорере эта строка появляется независимо от ввода и сбрасывает показ формы, соответственно, пользователь часто не может выбрать нужный пункт.
Посмотрите, пожалуйста, кто соображает в программинге, код:
Сайт, на котором всё это глючит Для просмотра ссылки Войдиили Зарегистрируйся
Всех с наступающим, а кого-то и с наступившим!
В общем сайт на WP, установлен плагин фильтрации facet. Там по-умолчанию поля поиска по цене и по ID работают через доп. кнопку "go". Т.е., чтобы отфильтровать по цене, нужно сначала ввести диапазон цены, затем нажать кнопку "go", и после этого уже основную кнопку фильтра "поиск".
Задача была поставлена сделать так, чтобы фильтрация работала без этой промежуточной кнопки "go".
Задача была выполнена, но спустя какое-то время, обнаружили глюки, исходящие от этого скрипта.
В частности, если в нормальном браузере вводить что-то в форму связи, то в адресной строке появляется ?fwp_lot_number_facet=?fwp_lot_number_facet=?fwp_lot_number_facet= с каждым введённым символом. В эксплорере эта строка появляется независимо от ввода и сбрасывает показ формы, соответственно, пользователь часто не может выбрать нужный пункт.
Посмотрите, пожалуйста, кто соображает в программинге, код:
Код:
jQuery(document).ready(function($){
$(document).on('input','.facetwp-number-min',function(){
let url = window.location.href,
value = $(this).val();
if(url.indexOf("fwp_price_facet") != -1){
url = delPrm(url,'fwp_price_facet');
}
if(url.indexOf("=") && url.indexOf("?") != -1){
url += '&fwp_price_facet='+value+'%2C'+$('.facetwp-number-max').val();
}else{
url += '?fwp_price_facet='+value+'%2C'+$('.facetwp-number-max').val();
}
window.history.pushState(null, '', url);
// $('.facetwp-submit').click();
setTimeout(set_filter, 2000);
});
$(document).on('input','.facetwp-number-max',function(){
let url = window.location.href,
value = $(this).val();
if(url.indexOf("fwp_price_facet") != -1){
url = delPrm(url,'fwp_price_facet');
}
if(url.indexOf("=") && url.indexOf("?") != -1){
url += '&fwp_price_facet='+$('.facetwp-number-min').val()+'%2C'+value;
}else{
url += '?fwp_price_facet='+$('.facetwp-number-min').val()+'%2C'+value;
}
window.history.pushState(null, '', url);
// throttle('set_filter');
let timer = null;
setTimeout(set_filter, 2000);
// $(document).find('.facetwp-number-min').focus();
});
$(document).on('input',function(){
let url = window.location.href,
value = $(this).val();
if(url.indexOf("fwp_lot_number_facet") != -1){
url = delPrm(url,'fwp_lot_number_facet');
}
if(url.indexOf("=") && url.indexOf("?") != -1){
url += '&fwp_lot_number_facet='+$('.facetwp-number-min').val();
}else{
url += '?fwp_lot_number_facet='+$('.facetwp-number-min').val();
}
window.history.pushState(null, '', url);
// throttle('set_filter');
let timer = null;
setTimeout(set_filter, 2000);
});
function delPrm(Url,Prm) {
var a=Url.split('?');
var re = new RegExp('(\\?|&)'+Prm+'=[^&]+','g');
Url=('?'+a[1]).replace(re,'');
Url=Url.replace(/^&|\?/,'');
var dlm=(Url=='')? '': '?';
return a[0]+dlm+Url;
};
function set_filter(){
$('.facetwp-autocomplete-update').click();
}
$(document).on('click','.simplefavorite-button',function(){
let favorite = Number($('.favorites_span_icon_id').text().replace(/\D+/g,""));
if($(this).hasClass('active')){
console.log('popalo');
favorite-=1;
}else{
favorite+=1;
}
console.log($('.simplefavorite-button-count').text());
$('.favorites_span_icon_id').text("Избранные обьекты "+favorite);
})
});
Сайт, на котором всё это глючит Для просмотра ссылки Войди
Всех с наступающим, а кого-то и с наступившим!