Задать вопрос
@Alex1011001

Как реализовать фильтрацию таблицы по select?

Добрый день.

Пытаюсь реализовать фильтр для таблицы с заявками (внутренняя система, готовые решения не подходят). Должен работать следующим образом -
1. Раз в 10 секунд скрипт обращается к обработчику и забирает нужные данные (обработчик возвращает форматированные данные, с этим всё хорошо)
2. В случае, если пользователь выбирает другой пункт в выпадающем списке (открытые, закрытые, отложенные) - нужно передать обработчику выбор пользователя, вывести данные с новым условием. Запомнить выбор, чтобы не терялся при обновлении.

Имеется код вывода данных из обработчика с использованием AJAX -
<div>
<select id="statuses">
	<option value="1">Открытые</option>
	<option value="1">Закрытые</option>
	<option value="1">Отложенные</option>
</select>
</div>
<div id="content_tickets"></div>
<script>
 function show_tickets()
 {
 	$.ajax({
   url: "content/tickets2.php", 
   type: "POST",
   data: {selected_status:$("#statuses").val()},
   cache: false,
   success: function(html){
   	$("#content_tickets").html(html);
   }
 	});
 }

 $(document).ready(function(){
	show_tickets();
	setInterval('show_tickets()',10000);
	
 });
</script>


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

Какие ещё есть варианты обработки такого фильтра? Или может быть я что-то упускаю?

Добавлено -

Добился нужного результата следующим образом -

<script>
 function show_tickets()
 {
 	$.ajax({
   url: "content/tickets2.php?selected="+$("#statuses").val(), 
   cache: false,
   success: function(html){
   	$("#content_tickets").html(html);
   }
 	});
 }
$('#statuses').change(function(){
	show_tickets();
		});
 $(document).ready(function(){
	show_tickets();
	setInterval('show_tickets()',10000);	
 });
</script>


Возможно есть ещё варианты?
  • Вопрос задан
  • 411 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Alex1011001 Автор вопроса
В конечном итоге был использован Datatables (https://datatables.net/)
Таблица формируется при загрузке страницы, пользовательские кнопки позволяют менять содержимое таблицы (фильтруется по скрытым полям). Присутствует поиск по ячейкам.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы