02.09.2016, 08:39
|
Новичок на форуме
|
|
Регистрация: 10.03.2016
Сообщений: 8
|
|
Форма фильтра
Есть фоорма фильтра в ней предоставляется выбор характеристик шин, по нажатию на кнопку подобрать, страница перезагружается и выдает соответствующий запрос, но в форме фильтра выбранное значение не отображается, Как отобразить текст в форме выбора после перезагрузки страницы
<form action="?post_type=product&">
<div class="name">Ширина</div>
<select class="btn dropdown-toggle selectpicker btnfull btn-warning" name="filter_ширина" size="1">
<option value="">Все</option>
<option value="63">31</option>
<option value="64" >32</option>
<option value="65" >33</option>
<option value="66" >34</option>
<option value="45" >165</option>
<option value="46" >175</option>
<option value="47" >185</option>
<option value="48" >195</option>
<option value="49" >205</option>
<option value="50" >215</option>
<option value="51" >225</option>
<option value="52" >235</option>
<option value="53" >245</option>
<option value="54" >255</option>
<option value="55" >265</option>
<option value="56" >275</option>
<option value="57" >285</option>
<option value="58" >295</option>
<option value="68" >315</option>
</select>
<div class="name">Высота</div>
<select class="btn dropdown-toggle selectpicker btnfull btn-warning" name="filter_высота" size="1">
<option value="">Все</option>
<option value="40">10.50</option>
<option value="41" >11.50</option>
<option value="42" >12.50</option>
<option value="43" >35</option>
<option value="75" >40</option>
<option value="37" >45</option>
<option value="38" >50</option>
<option value="36" >55</option>
<option value="62" >60</option>
<option value="34" >65</option>
<option value="35" >70</option>
<option value="39" >75</option>
</select>
<div class="name">Профиль</div>
<select class="btn dropdown-toggle selectpicker btnfull btn-warning" name="filter_диаметр" size="1">
<option value="">Все</option>
<option value="21">R13</option>
<option value="22" >R14</option>
<option value="23" >R15</option>
<option value="24" >R16</option>
<option value="25" >R17</option>
<option value="26" >R18</option>
<option value="27" >R19</option>
<option value="28" >R20</option>
</select>
<div class="name">Сезон</div>
<select class="btn dropdown-toggle selectpicker btnfull btn-warning" class="bu" name="filter_cезон" size="1">
<option value="">Все</option>
<option value="19">Лето</option>
</select>
<div class="name">Бренд</div>
<select class="btn dropdown-toggle selectpicker btnfull btn-warning" name="filter_бренд" size="1">
<option value="">Все</option>
<option value="61">BFGoodrich</option>
<option value="69" >Michelin</option>
</select>
<input class="btn btn-warning pf-black" id="bu" type="submit" value="ПОДОБРАТЬ" />
</form>
|
|
02.09.2016, 08:45
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Из адреса бери, ищи и подсвечивай. Если сервер в распоряжении, там сразу можно вывести selected на рендере.
|
|
02.09.2016, 08:51
|
Новичок на форуме
|
|
Регистрация: 10.03.2016
Сообщений: 8
|
|
Таа если были бы мозги, сделал бы, а так мне нужен готовый результат либо пример
|
|
02.09.2016, 08:55
|
Новичок на форуме
|
|
Регистрация: 10.03.2016
Сообщений: 8
|
|
Изначально использовался плагин YITH WooCommerce Ajax Product Filter, клиенту данный фильтр не понравился, теперь же на основе этого плагина сделал простенький фильтр. Теперь клиент частично рад , ему нужно чтобы при выборе значений они отображались после перезагрузки страницы
|
|
02.09.2016, 09:04
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Русский в урлах это православно, но клиенту не понравится как будет выглядеть такая ссылка, я гарантирую это.
Берешь из ссылки все параметры и по именам ищешь. Нашел - втыкаешь value и готово.
Ну или покажи серверный скрипт, который рендерит эти списки. Небось там все уже есть или было, а ты выпилил.
|
|
02.09.2016, 09:25
|
Новичок на форуме
|
|
Регистрация: 10.03.2016
Сообщений: 8
|
|
В value значение отличается от текста
Я вообще понятия не имею (что плохо) как брать значение из url и вставить его в select,
а серверный скрипт работает на основе плагина YITH WooCommerce Ajax Product Filter
вся фишка в том, что на том плагине мы выбираем значение и он сразу же находит по выбранным значения, а этого клиент не хочет
|
|
02.09.2016, 13:36
|
Профессор
|
|
Регистрация: 21.09.2015
Сообщений: 196
|
|
Ling,
Сообщение от Ling
|
как брать значение из url и вставить его в select
|
Вот пример:
window.onload=function(){
var settings = ["filter_width", "filter_height", "filter_diameter", "filter_season", "filter_brand"];
url = window.location.href;
for (var i=0; i<settings.length; i++){
filterVal = url.match(new RegExp(settings[i] + "=\\d*"))[0].replace(settings[i] + "=", "");
if (filterVal)
document.querySelector("[name='" + settings[i] + "'] [value='" + filterVal + "']").selected = true;
}
}
списки переименовала в filter_width и т.д.
|
|
04.09.2016, 10:43
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Вот хорошее начало
var g={},q={},
L=W.location,
P=L.href.split('?')[0],
s=L.search.substr(1).split('&'),
i,p;
for(i=0; i<s.length; i++)
if(p=s[i].split('='))
g[p[0]]=(p.length>1)?decodeURIComponent(p[1].replace(/\+/g, '%20')):null;
Да этого нафиг не надо делать на клиенте. На сервер уходит запрос, там весь рендер, там и надо брать ключи и фтыкать selected. Просто ТС все поломал чтобы деньги не платить халявщик.
|
|
|
|