2016-03-22 20 views
0

JQueryの学習を始めました。そして私はこれで遭遇しました。私は2つの異なる配列を「良い」と「悪い」持っています。各アレイには、内部に特定のメッセージがあります。今は、各配列の各要素をJQueryダイアログボックスに表示しようとしています。私は、各要素を持つダイアログボックスを開き、特定の時間の後にそれをフェードアウトしようとしています。しかし、私は最後の要素だけを表示しています。遅延とフェードアウトでタイミングを変えようとしましたが、そこには到達できませんでした。 私は正しい方向に向けると大変感謝しています。 現在のところ、GoodとBadから各メッセージを取り出し、コンソールと個々のダイアログに表示しています。 私のコードがあるJavaScript配列をループして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); 
       } 
      } 
     }); 

答えて

0

は、あなたはそれが新しい変数の良い/悪いの作成とに割り当てているすべての反復のためにこの部分に

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

を変更する必要がありますようだit.Soあなただけの最後のテキストを持っています割り当てられる。

あなたが試すことができ、この1

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; 
    } 
} 
+0

は、あなたの迅速な返事をありがとうございました。 Concat(+)が '不明なトークン='としてエラーをスローしています。 +を削除すると、以前と同じ出力が表示されます。実際には、各メッセージ要素でダイアログボックスを開いて閉じようとしています。前もって感謝します。 –

+0

@joey_tribbiani +と=の間にスペースがあります。 + =スペースでなければなりません。回答を更新する – brk

+0

私の悪い、私はそれを修正しました。しかし、それはまだ個々のダイアログで各メッセージを開いています。前もって感謝します。 –

関連する問題