在不改变焦点的情况下触发更改功能

时间:2013-07-05 15:56:12

标签: javascript focus

我有一个可排序和可过滤的表,如果我使用select字段更改过滤器,一切正常。但是,如果用户在x秒后没有选择过滤器,我希望它根据指定的选项进行过滤。我在设定的时间后更改选择没有问题,但是要过滤的javascript无法识别这是一个change()事件。如何让它将其识别为更改,或者通过其他方式在一段时间后注册默认选择?

作为参考,我正在使用此脚本进行表过滤/排序:

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

我想将它自己的值传递给Table.filter(this,this)。

2 个答案:

答案 0 :(得分:1)

我认为这样的事情应该有效:

var defaultFilter = 3;
var filterTimeout = 5000;

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

答案 1 :(得分:0)

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);
};

我认为应该有用......