我有一些復選框,如果一個復選框被選中,我將用.ajax發送其值。
目前,我正在使用async : false來確保它在ajax成功后從下一個回圈。
然而,在完成.each回圈之前,它有點凍結了瀏覽器。
我在這里看到了類似的做法。jQuery在ajax成功后繼續執行回圈,但我不知道如何適應我的情況,我使用.each而不是for
$("input:checkbox:checked").each(function() {
$.ajax({
async : false,
url:"import.php"。
method:"POST"。
data:{id:id, val:val},
success:function(data) {
//do some action(data)。
}
});
});
uj5u.com熱心網友回復:
使用https://stackoverflow.com/a/7330753/378779的相同原則:
var elements = $("input:checkbox:checked" /span>)
var i = 0;
doLoop()。
function doLoop() {
if ( i >= elements.length ) {
return;
}
// 要獲得我們所要的元素。$(elements[i])
$.ajax({
async : false,
url:"import.php"。
method:"POST"。
data:{id:id, val:val},
success:function(data) {
//do some action(data)。
i
doLoop()
}
});
}
估計你想改變data:{id:id, val:val}以使用單個復選框的id和值,所以在.ajax()呼叫之前你可能想:
let e = $(elements[i])
而要獲得id和值:
data: {id:e. attr('id'), val:e.val()}。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323830.html
標籤:
上一篇:從字串中獲取src值
