Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233

Реализация фильтра: динамическое значение по нескольким параметрам

30.10.2015, 14:12. Показов 2005. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.

Как реализовать фильтр, который будет показывать только те блоки, в которых есть соответствующая информация, а все другие скрывать?

Есть таблицы "Районы", "Улицы", ну и самая главная таблица "Отели". В таблице "Отели" есть столбцы "Район", "Улица". В них записываю наименование района или улицы отеля, а не передаю id из таблиц.

Например, есть район "Васильевский"(сделано в виде чекбокса), и когда мы нажмем на этот чекбокс, то покажется блок с информацией, у которого в БД значение района "Васильевский", а другие - скроются. Хочу заметить, что в фильтре можно выбирать много значений: Например, район "Васильевский", можно выбрать улицу "Попкова", "Пупкина" и выведутся отели в этом районе.

В общем, мульти-чекбоксы. Может есть какой-то другой вариант? Прошу помочь.

Вот код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      <form action="index.php" method="post">
        <div id="filter_c">
            <div class="rajon">
              <span>Rajon</span>
                  <div class="filter_l"> 
                    <?php foreach ($rajon as $id => $rajon): ?>
                        <div class="kbox">
                        <input type="checkbox" id="rajon_<?=$id;?>" value="<?=$id;?>" name="rajon[]" />
                          <label for="rajon_<?=$id;?>">
                            <span class="filter_name"><?=$rajon['rajon'];?></span>
                          </label>
                        </div>
                    <?php endforeach; ?>
                  </div>
            </div>
            <div class="street">
              <span>Street</span>
                  <div class="filter_l"> 
                    <?php foreach ($street as $id => $street): ?>
                        <div class="kbox">
                        <input type="checkbox" id="street_<?=$id;?>" value="<?=$id;?>" name="street[]" />
                          <label for="street_<?=$id;?>">
                            <span class="filter_name"><?=$street['street'];?></span>
                          </label>
                        </div>
 
                    <?php endforeach; ?>
                  </div>            
            </div>             
          </div>
      </form>
Вот блок с информацией, который выводится циклом

HTML5
1
2
3
4
    <div class="desc">
      <h2><?=$hotel['name']?></h2>
       <p>Region: <?=$hotel['region']?></p>
    </div>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2015, 14:12
Ответы с готовыми решениями:

Поиск в базе данных по нескольким параметрам
Здравствуйте, подскажите кто-нибудь, как сделать следующее: В попупе находятся критерии для поиска квартир, например &quot;цена&quot;,...

Как в jquery забрать value для radio:checked по нескольким параметрам?
Добрый день, Ситуация такая, есть множество товаров на странице , на каждый открывается всплывающее окошко, в окошке форма с...

SELECT по нескольким параметрам
Всем привет! Что-то подзавис на формировании запроса: mysqli_query($db, &quot;SELECT * FROM $table_name WHERE (planetID = '$planet_id' AND...

3
27 / 28 / 16
Регистрация: 18.10.2015
Сообщений: 187
31.10.2015, 06:01
Есть несколько вариантов, один самый простой, не обращаясь к БД. Изначально все блоки скрыты и в них уже есть информация по каждому блоку своя... Например, они соответственно заключены в блок div.
По умолчанию все div блоки скрыты.
При клике на чекбокс
JavaScript
1
2
3
change(function(){
находим нужный блок и показываем... 
})
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
01.11.2015, 14:04  [ТС]
Almag13, мне изначально надо их показывать и по мере фильтра тогда убирать. Можете продемонстрировать код на примере моего?
0
27 / 28 / 16
Регистрация: 18.10.2015
Сообщений: 187
01.11.2015, 20:40
Например, так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<div>
 <label for="first">First</label>
 <input type="checkbox" id="first" />
</div>
<div>
 <label for="second">Sceond</label>
 <input type="checkbox" id="second" />
</div>
<div>
 <label for="third">Third</label>
 <input type="checkbox" id="third" />
</div>
 
<div class="full-rigions-wrap">
 
<div class="desc">
      <h2><?=$hotel['name']?></h2>
       <p>Region: <?=$hotel['region']?></p>
    </div>
<div class="desc">
      <h2><?=$hotel['name']?></h2>
       <p>Region: <?=$hotel['region']?></p>
    </div>
<div class="desc">
      <h2><?=$hotel['name']?></h2>
       <p>Region: <?=$hotel['region']?></p>
    </div>
 
</div>
CSS
1
2
3
.full-rigions-wrap > div{
display: none;
}
JavaScript
1
2
3
4
$('input[type="checkbox"]').change(function(){
var indx = $(this).parent().index(); //находим индекс родительского блока обертки... (div);
$('.full-rigions-wrap').find('>div.desc').eq(indx).show(); // ищем в блоке со всеми элементами div.desc с тем же индексом и показываем его...
});
Логика такая вероятно, принцип работы с табов... Если нужно, то можем реализовать открытие только одного чекбокса... А можем реализовать, чтобы они все открывались и активному или текущему добавлять z-index выше остальных... Остальные ckeckbox скрывать

Например, продолжение кода:
JavaScript
1
2
3
4
5
6
7
$('input[type="checkbox"]').change(function(){
 
$('input[type="checkbox"]').attr('checked', false); // отменяем выборку у всех чекбоксов;
$(this).attr('checked', true); // добавляем выборку текущему и показываем текущий блок с индексом
var indx = $(this).parent().index(); //находим индекс родительского блока обертки... (div);
$('.full-rigions-wrap').find('>div.desc').eq(indx).show(); // ищем в блоке со всеми элементами div.desc с тем же индексом и показываем его...
});
P.S. Не проверял код в работе, но принцип использования применил бы такой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2015, 20:40
Помогаю со студенческими работами здесь

Поиск по нескольким параметрам
Есть таблица с названием one a1 a2 a3 a4 0 1 2 3 А так же таблица two в которой b1 b2 b3 b4 0 1 2 3 5 6 7 8 И таблица...

Поиск по нескольким параметрам?
Вот поиск по фамилии - RS.Find 'fam Like ' &amp; ''' &amp; strFind &amp; ''' adSearchForward А как его сделать и по фамилии и по имени...

Фильтр по нескольким параметрам
Добрый день форумчане! Есть задача сделать фильтр как на картинке. Есть группы фильтра, у каждой записи есть пользовательские поля. ...

поиск по нескольким параметрам
Здраствуйте. Делаю на диплом базу даных ноутбуков!!! Возникла проблема с поиском. Хочу зделать поиск по нескольким критериям. Тоисть,...

Фильтрация по нескольким параметрам
Всем доброго времени суток. Кто знает как можно отфильтровать ADOTable по нескольким прараментам? Пытаюсь так: ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru