簡體   English   中英

遍歷javascript數組並在JQuery對話框中顯示每個元素

[英]Loop through javascript array and display each element in JQuery Dialog

我剛剛開始學習JQuery。 我遇到了這個問題,我有兩個不同的數組``好''和``壞''。 每個數組內部都有某些消息。 現在,我試圖在JQuery對話框中顯示每個數組中的每個元素。 我正在嘗試打開一個包含每個元素的對話框,並在一段時間后將其淡出。 但是我只顯示最后一個元素。 我嘗試通過延遲和淡入淡出來更改時間,但無法到達目的地。 為我指出正確的方向將不勝感激。 目前,我只是從好與壞中獲取每條消息,並將其顯示在控制台和單個對話框中。 我的代碼是

function show_message(type,index) {
     switch(type) {
         case "good" :
jQuery("#good").children("#goody").each(function() {
var goods = jQuery(this).text();
console.log(goods);
jQuery(this).dialog().html(goods);
});
break;

case "bad" :
jQuery("#bad").children("#baddy").each(function() {
var bads = jQuery(this).text();
console.log(bads);
jQuery(this).dialog().html(bads);
});
break;
     }
 }

    var ar = <? echo $json ?>;

        jQuery.each(ar, function (key, value) {

            if (key === 'good' && ar.success.length !== 0) {
                var count = ar.good.length;
                for (var m = 0; m < count; m++) {
                   jQuery("#good").prepend('<div id= "goody">' + ar.good[m] + '</div>');
                   show_message('good',m);
                }

            } else if (key === 'bad' && ar.bad.length !== 0) {
                var counter = arr.bad.length;
                for (var n = 0; n < counter; n++) {
                       jQuery("#bad").prepend('<div id="baddy">' + arr.error[n] + '</div>');
                    show_message('bad',n);
                }
            } 
        });

似乎您必須更改此部分

var goods = jQuery(this).text();

對於每次迭代,它都會創建一個新變量good / bad並對其進行賦值,因此僅分配了最后一個文本。

你可以試試這個

function show_message(type,index) {
var goods="";  // Added variable here
var bads ="";  // Added variable here
     switch(type) {
         case "good" :
jQuery("#good").children("#goody").each(function() {
goods+= jQuery(this).text();  //concatenating the string
console.log(goods);
jQuery(this).dialog().html(goods);
});
break;

case "bad" :
jQuery("#bad").children("#baddy").each(function() {
bads+= jQuery(this).text(); //concatenating the string
console.log(bads);
jQuery(this).dialog().html(bads);
});
break;
     }
 }

暫無
暫無

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

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