假设我有一个多选框:
<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);
});
我知道我可以添加一个“保存”按钮,但我想动态保存数据。
动态保存多个选择框中的数据的最佳方法是什么(在用户选择项目之后)?
答案 0 :(得分:1)
我会这样做onchange
,经过这么多时间之后保存就像你一样,我唯一要改变的就是重置timeout
每次更改所以它只会在最后一次更改onchange
。
沿着这些方向发展。
var changeTimeout;
$('#sel').change(function(){
clearTimeout(changeTimeout);
changeTimeout = setTimeout(function(){saveData()}, 1000);
});