![](/img/trans.png)
[英]Loop through array, assign each value to an element attribute in 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.