[英]Submit form on checkbox change delay
目標:我有一個帶有復選框的表單,我想在其.change()事件上提交該表單。 我希望在提交之前有一個延遲,每次單擊另一個復選框時都會將其重置。
碼:
$('input[type="checkbox"]').change(function(){
setTimeout(function(){
$('#nav_form').submit();
},750);
});
此代碼有效,但提交表單的時間過早。 而且,如果我將毫秒設置為更高的值(例如幾秒鍾),那么如果用戶選擇了許多復選框,那還是可以的,但是當他們僅選擇1或2時,延遲確實很明顯。
在此先感謝您提供的所有幫助!
您需要清除setTimeout-它類似於“反跳”文本條目,例如在Ajax控制的自動完成中。
var tId;
$('input[type="checkbox"]').change(function(){
clearTimeout(tId);
tId=setTimeout(function(){
$('#nav_form').submit();
},750);
});
如果您只想提交復選框,則可能要添加測試:
var tId;
$('input[type="checkbox"]').change(function(){
clearTimeout(tId);
if (('input[type="checkbox"]:checked').length>0){
tId=setTimeout(function(){
$('#nav_form').submit();
},750);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.