簡體   English   中英

jquery 函數 .html .text 在 .each 內部調用 ajax 時不起作用

[英]jquery function .html .text not working when ajax call inside .each

我正在使用 jquery ajax 函數從服務器獲取數據,然后遍歷數組並更新 HTML 元素。

返回數據無法更新。

$(document).delegate("#update_balance_btn", "click", function(event){

    $.ajax({
        url : base_url + "login/get_data",
        type : 'POST',
        success : function(data) {              
            $.each(JSON.parse(data) , function(index, val) { 
              $(".return_balance").text(val + " update success");
              //$('.return_balance').empty().append(val + " update success" );
              console.log(val);  // I can console log all the data 
              //$(".return_balance").html( val + " update success");  
// not wokirng , the val is not inserted to html , only " update success" is inserted 
            });
        },
        error : function(request,error){
            console.log(  JSON.stringify(request) );
        }
    });
});

我可以在每個函數之后獲取數據, .html可以更新字符串“更新成功”,但不能在 html 元素中插入 val。

我的 html 元素

     <li class="list-group-item">1: <span class="return_balance"> 0 </span></li>
    <li class="list-group-item">2: <span class="return_balance"> 0 </span> </li>
    <li class="list-group-item">3: <span class="return_balance"> 0 </span> </li>
    <li class="list-group-item">4Casino : <span class="return_balance"> 0 </span> </li> 

任何幫助將不勝感激謝謝

在此處輸入圖片說明

您正在做的是,您正在替換所有具有return_balance類的元素的文本

假設您從 API 和屏幕截圖中獲取數據,您可以編寫類似

 $.each(JSON.parse(data) , function(index, val) { $(".return_balance").eq(index).html(val + " update success"); });

如果您仍然沒有獲得所需的輸出,只需發布​​您在此之后獲得的錯誤和輸出

為要使用結果更新的每個span元素指定一個 ID。 然后按 ID 選擇每個跨度。

您的代碼只是在每次迭代中更新所有元素。 因此,當然,您只會在任何地方看到最后更新的值。

 $.each(JSON.parse(data) , function(index, val) { 
    $(".return_balance #" + index).text(val + " update success");
});


<li class="list-group-item">1: <span class="return_balance" id="1"> 0 </span></li>
<li class="list-group-item">2: <span class="return_balance" id="2"> 0 </span> </li>
<li class="list-group-item">3: <span class="return_balance" id="3"> 0 </span> </li>
<li class="list-group-item">4Casino : <span class="return_balance" id="4"> 0 </span> 
</li> 

這是因為您使用“return_balance”類更改了所有跨度的文本。 最后返回的 val 是 0,所以 all 的最終值也是 0。雖然你發布的結果有一個 '1102.07' 對吧?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM