Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
1

Изменение url при выборе select

12.03.2015, 09:58. Показов 4936. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, вопрос такой:
У меня есть список товаров, к ним есть еще ряд select'ов, при выборе которых, меняются товары, назавем это фильтром.
Мне нужно при выборе любого из option менять url с перезагрузкой страниц, а именно добавлять get запрос вида &price=1
Это вообще возможно ? Или стоит подумать о другом варианте ?

Можно еще посмотреть как это сделано на avito: там производиться выбор select'ов, после нажатия на Найти, с перезагрузкой страницы происходит изменение url, с добавленными get значениями.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 09:58
Ответы с готовыми решениями:

Изменение label при выборе значения в select
Сабж. Дана форма на ней находится select, нужно, чтобы при выборе значения в select значение...

Изменение содержимого одного select при выборе в другом
Всем привет. Очень интересует такой вопрос: как в зависимости от выбора определенного option внутри...

Действие при выборе в Select
Здравствуйте. Вопрос в следующем. У меня есть 3 "селекта". Мне нужно чтобы пока не выбран ни какой...

Действие при выборе select
у меня есть select при выборе в селекте пользователя выводиться его список заказов. как это можно...

16
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
12.03.2015, 10:20 2
При выборе опции отправлять форму можно с помощью JS.
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
12.03.2015, 10:38 3
хм, просто отправляйте форму методом GET, и все выбранные значения попадут в url
0
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
12.03.2015, 11:18  [ТС] 4
Когда я отправляю методом GET, то в url выводятся все мои name, которые я выбирал и которые не выбирал.
А мне нужно, чтобы туда шли только выбранные значения option.
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
12.03.2015, 11:20 5
Цитата Сообщение от oganez09 Посмотреть сообщение
А мне нужно, чтобы туда шли только выбранные значения option.
зачем?
0
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
12.03.2015, 11:45  [ТС] 6
url становится огромным, вот такого типа:
PHP
1
?selectViewDeal=1&SelectRoom1=&SelectType1=&SelectFloor1=&SelectFloorHouse1=&SelectTypeHouse1=&SelectSquareMin1=&SelectSquareMax1=&SelectPriceMin1=&SelectPriceMax1=&SelectRoom2=&SelectLease2=&SelectFloor2=&SelectFloorHouse2=&SelectTypeHouse2=&SelectSquareMin2=&SelectSquareMax2=&SelectPriceMin2=&SelectPriceMax2=&SelectRoom3=&SelectRoom4=&SelectLease4=
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
12.03.2015, 11:47 7
отправляйте через POST, если проблема в большом урле
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
12.03.2015, 15:48 8
Цитата Сообщение от V@D!k Посмотреть сообщение
отправляйте через POST
ТС же написал, что хочет GET.
oganez09, можно с помощью jQuery добавить параметры к form action.
0
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
13.03.2015, 08:50  [ТС] 9
Цитата Сообщение от nrobert Посмотреть сообщение
можно с помощью jQuery добавить параметры к form action
можете пример показать ??
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
13.03.2015, 09:46 10
Лучший ответ Сообщение было отмечено oganez09 как решение

Решение

Вот.
Кликните здесь для просмотра всего текста

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<form id="testform" action="index.php">
    <select name="sel1">
        <option value="">Choose select 1</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    <select name="sel2">
        <option value="">Choose select 2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>  
</form>
<input id="show" type="button" value="Show query string"/>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
var inputs={};
$('form#testform select').on('change',function(){
    if($(this).val()!=''){
        inputs[$(this).attr('name')]=$(this).val();
    }else{
        delete inputs[$(this).attr('name')];
    }
});
$('#show').on('click',function(){
    var action=$('form#testform').attr('action');
    action+=$.param(inputs)?'?'+$.param(inputs):'';
    alert(action);
});
1
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
13.03.2015, 10:53  [ТС] 11
а как мне теперь использовать значение с переменной action ??
у меня и форма, и обработчик, и сам вывод товаров находятся на одной странице
есть ли смысл использовать ajax, ведь у меня страница будет перезагружаться
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
13.03.2015, 10:56 12
просто делаете редирект на action, это тоже самое что отправить форму, только в данном случае у вас будут только заполненные параметры
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
13.03.2015, 11:00 13
Какой AJAX? Его и не было. Измените JS-скрипт под свой код, кнопка "Show..." - только для наглядного примера, ее функцию повесьте на событие submit.
0
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
13.03.2015, 16:50  [ТС] 14
после первого выбора select'ов все нормально, после перезагрузки страницы url меняется как нужно.
Но тут еще один момент: те параметры которые я выбрал, получаются выбранные, с атрибутом selected, и если я нажму еще раз на кнопку, то они уже не попадают в запрос.
Как мне добавить еще и option с этим атрибутом selected ??
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
13.03.2015, 19:35 15
Цитата Сообщение от oganez09 Посмотреть сообщение
Но тут еще один момент: те параметры которые я выбрал, получаются выбранные, с атрибутом selected, и если я нажму еще раз на кнопку, то они уже не попадают в запрос.
Как мне добавить еще и option с этим атрибутом selected ??
Ничего не понятно.
0
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
13.03.2015, 20:26  [ТС] 16
как пример:
Вложение 500436
Обработчик ведет на index.php
при нажатии "Найти", страница перезагружается, и меняется список товаров, при этом сохраняются выбранные параметры, в данном случае мы выбираем кол-комнат. В этот момент url добавился правильно.
Изменение url при выборе select

Обработчик опять ведет на index.php
Теперь я еще хочу выбрать тип дома, выбираю, нажимаю, но теперь url сгенерировал только из того что я выбрал в этот раз, только тип дома, выбранный мной предыдущий параметр кол-во комнат сбросился, т.е. в url его уже нет
Этот скрипт не работает со значениями которые по умолчанию выбраны, вот посмотрите здесь
0
171 / 153 / 67
Регистрация: 11.02.2015
Сообщений: 450
13.03.2015, 20:52 17
Обновил свой пример.
0
13.03.2015, 20:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2015, 20:52
Помогаю со студенческими работами здесь

Изменить тело при выборе SELECT
Здравствуйте! У меня имеется некая база данных из которой я вывожу на экран все данные. Но я...

Как при выборе select вывести количество и стоимость
Как при выборе значений из select'a(данные берутся из БД) в колонку &quot;Кол-во&quot; и &quot;Цена&quot; - вписывать 1...

JsHttpRequest не работает (при выборе в select ничего не происходит)
Решаю задачу с выпадающими списками: вот сама форма и скрипт для отправки аякс запроса(frontend):...

При выборе значение в первом select, изменить option во втором
Здравствуйте, каким образом можно изменить значение второго select при изменении первого не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru