2011-03-15 115 views
0

比方說,我有一個多選框:觸發改變在多選擇選擇

<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事件觸發後保存500ms,但我不知道這是否是最好的主意。

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

我知道我可以添加一個'保存'按鈕,但我想保存在飛行中的數據。

什麼是從一個多選框中(在用戶選擇項目之後)保存數據的最佳方式?

回答

1

我會做onchange,經過這麼多的時間已經過去了保存它像你,只有我會改變的事情是每個變化重置timeout所以它只做它最終onchange

沿着這些線的東西。

var changeTimeout; 

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

這是一個好主意,爲什麼我不這麼想?我想我需要更多的咖啡因。 – 2011-03-15 15:58:45