Добрый день.
Пытаюсь реализовать фильтр для таблицы с заявками (внутренняя система, готовые решения не подходят). Должен работать следующим образом -
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>
Возможно есть ещё варианты?