在多选中选择项目后触发更改

时间:2011-03-15 15:53:21

标签: javascript jquery html

假设我有一个多选框:

<select id="sel" multiple="multiple">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="9">Nine</option>
    <option value="10">Ten</option>
</select>

要选择项目,您可以按住 Ctrl 并单击各个项目。我想在用户选择项目后保存此选择框中的数据。我怎么能这样做?

我想在触发setTimeout事件后使用onChange并保存500毫秒,但我不知道这是不是最好的主意。

$('#sel').change(function(){
    setTimeout(saveData, 500);
});

我知道我可以添加一个“保存”按钮,但我想动态保存数据。

动态保存多个选择框中的数据的最佳方法是什么(在用户选择项目之后)?

1 个答案:

答案 0 :(得分:1)

我会这样做onchange,经过这么多时间之后保存就像你一样,我唯一要改变的就是重置timeout每次更改所以它只会在最后一次更改onchange

沿着这些方向发展。

var changeTimeout;

$('#sel').change(function(){
    clearTimeout(changeTimeout);
    changeTimeout = setTimeout(function(){saveData()}, 1000);
});