Пожар функции изменения без изменения фокуса

Вопрос:

У меня есть таблица, которая сортируется и фильтруется, и все работает отлично, если я изменяю свой фильтр с помощью поля select. Но если пользователь не выбирает фильтр после x секунд, я хочу, чтобы он фильтровался на основе назначенного параметра. У меня нет проблем с изменением выбора после установленного времени, но javascript для фильтра не признает, что это событие change(). Как я могу заставить его распознать его как изменение или каким-либо другим способом зарегистрировать выбор по умолчанию после определенного периода времени?

Для справки, я использую этот скрипт для фильтрации/сортировки таблицы:

http://www.javascripttoolbox.com/lib/table/

Я хотел бы передать ему свои собственные значения для Table.filter (это, это).

Лучший ответ:

Я думаю, что что-то вроде этого должно работать:

var defaultFilter = 3;
var filterTimeout = 5000;

window.setTimeout(function() {
    var select = document.getElementById("select");
    select.selectedIndex = defaultFilter;
    Table.filter(select, select);
}, filterTimeout);

Ответ №1

HTML:

<select id="select" onchange="Table.filter(this,this)">... </select>

Javascript:

var select = document.getElementById("select");
var secondsToChange = 2;

select.onclick = function() {
window.setTimeout(function(){select.onchange.apply(select)},secondsToChange*1000);
};

Я думаю, что это должно работать…

Оцените статью
TechArks.Ru
Добавить комментарий