[英]jquery empty() not working in an Ajax call
我有一個模態框,我在其中放置了一些元素
<a class="incidents" tabindex="0" id= 'incident0' data-toggle="popover" data-html="true" data-trigger="focus" data-placement="bottom" data-content=""></a>
<a class="incidents" tabindex="1" id= 'incident1' data-toggle="popover" data-html="true" data-trigger="focus" data-placement="bottom" data-content=""></a>
<a class="incidents" tabindex="0" id= 'incident2' data-toggle="popover" data-html="true" data-trigger="focus" data-placement="bottom" data-content=""></a>
<a class="incidents" tabindex="0" id= 'incident3' data-toggle="popover" data-html="true" data-trigger="focus" data-placement="bottom" data-content=""></a>
在完成我的 ajax 調用后,我使用 for 循環動態填充元素,我將獲得的最大對象數為 4,因此我將其構造為如果只有 2 個對象,它會停在事件 2 並爆發。
if (data.incidents.issuesQty != 0)
{
//console.log('I am here');
for (var i = data.incidents.issuesQty - 1; i >= 0; i--)
{
if (data.incidents.issues[i].type == "ban")
{
$( "#incident"+i ).html("<i class=\"fas fa-ban\"></i>");
$("#bannedUser" ).html("BANNED");
}
if (data.incidents.issues[i].type > 3)
{
$( "#incident"+i ).html("<i class=\"fas fa-thermometer-full\"></i>");
}
else if(data.incidents.issues[i].type > 2)
{
$( "#incident"+i ).html("<i class=\"fas fa-thermometer-half\"></i>");
}
else if(data.incidents.issues[i].type < 3)
{
$( "#incident"+i ).html("<i class=\"fas fa-thermometer-empty\"></i>");
}
$( "#incident"+i ).attr("data-content", '<b>Notes: </b>'+data.incidents.issues[i].notes');
}
}
問題是,如果我有一個填充元素事件 1 和事件 2 的用戶,然后我單擊另一個沒有事件的用戶,即跳過 if 語句塊; 元素“incident1”仍然會記住前一個用戶的數據並仍然顯示它。
我曾嘗試在 ajax 成功開始時使用 jQuery 空方法來清除元素,但由於某種原因,它仍然會反芻舊數據。 我還放置了一個 console.log 調試來驗證 if 語句是否被跳過,但我仍然有一個
$( "#incident1").empty();
$( "#incident2").empty();
$( "#incident3").empty();
$( "#incident4").empty();
當然,我犯了從 '1' 而不是從 '0' 計數的所有時間新手錯誤。 我的元素索引從 0 到 3,但我試圖從 1 清空到 4,這意味着元素 0 始終保持不變!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.