Добрый день сообщество. Прошу помощи в следующем:
На сайте реализовано переключение вкладок на JS. При нажатии на каждую вкладку на экран выводится результат запроса к БД. Собственно код:
$resultat1 = mysql_query("SELECT * FROM main_table WHERE категория='cat1'",$connection);
Тобишь каждый таб показывает выборку лишь по одной, соответствующей ей, категории
$(document).ready(function() {
$('.tabs_menu a').click(function(e) {
e.preventDefault();
$('.tabs_menu .active').removeClass('active');
$(this).addClass('active');
var tab = $(this).attr('href');
$('.tab').not(tab).css({
'display': 'none'
});
$(tab).fadeIn(400);
});
});
Также реализован поиск, который делает запрос к БД и выводит материалы по всем категориям.
Можно ли реализовать поиск с учетом отслеживания активного в данный момент таба? Условно говоря, если выбрана третья категория (таб), то и поиск будет идти лишь по третьей. Понимаю что следует сделать невидимый input type="radio" для каждого таба, и в запросе к бд проверять его, но как это реализовать я представления не имею.
Заранее спасибо
В коментариях @Mike дал отличный совет.
Создайте скрытое поле: <input type="hidden" id="categoryType" name="categoryType">, и при переходе на новый таб меняйте в нем значение, для этого нужно добавить одну строку в ваш js:
$(document).ready(function() {
$('.tabs_menu a').click(function(e) {
e.preventDefault();
$('.tabs_menu .active').removeClass('active');
$(this).addClass('active');
var tab = $(this).attr('href');
$('#categoryType").val(tab); // Добавленная строка
$('.tab').not(tab).css({
'display': 'none'
});
$(tab).fadeIn(400);
});
});
И тогда у вас на сервере будет доступна информация о активном табе, $_REQUEST['categoryType']. Этот вариант подходит если у вас поиск работает без Ajax. В случае с Ajax все намного проще.
$.ajax({
...
data: {
...
categoryType: $('.active').attr('href'),
...
},
...
});
И на сервера информация о активном табе будет лежать там же где и в первом случае $_REQUEST['categoryType'].
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники