2016-09-06 10 views
0

私はidの文字列リストを持っています。 divの配列を使用したループURLとロードはIDに依存します

<div id="item_1">Text 1 - Suspended </div> 
<div id="item_2">Text 2 - Suspended </div> 
<div id="item_3">Text 3 - Suspended </div> 
<div id="item_4">Text 4 - Suspended </div> 

ids = '1,2,3,4,5' 

だけで表現して配列に変換(あなたは配列に文字列を変換するためのより良い解決策を持っている場合は、TIAを共有してください!)

array_id = ids.split(','); 

私の問題それはどのように私はURLをループし、配列idと別のdivにロードすることができますか?

function multipleLoadContent(url,id){ 
var ids = id; 
var array_id = new Array(); 
array_id = ids.split(','); 

    // maybe loop here and apply where id is? 
    $("#item_"+array_id).load(url); 
} 

あなたは各要素を反復処理するループのため行うことができます

for id "item_1" returned text "Text 1 - Active" 
for id "item_2" returned text "Text 2 - Declined" 
for id "item_3" returned text "Text 3 - Stale" 
..... 
+1

*同じ* URLの*同じ*コンテンツでマルチプレイのdivを作成したいとしますか? ( 'var array_id = id.split( '、');' - 'new Array()'は必要ありません。新しい配列自体を作成し、 'ids'変数は必要ありません。あなたは' id'関数の引数を直接使うことができます。) – nnnnnn

+0

sir @ nnnnnn、私はすでにIDでdivを使っていました。私はちょうど更新されたコンテンツをロード/リロードする必要があります。おかげで – mrrsb

+1

"ループのURL"はどういう意味ですか?あなたの質問を編集して 'url'変数にあるものを表示し、あなたがそれをどうしたいのかを明確にしてください。 (たぶんあなたはhtmlの短い*サンプルを表示できます) – nnnnnn

答えて

2

たとえば、テキストがシステム生成出力され返さ:

array_id.forEach(item) { 
    $("#item_" + item).load(url); 
} 

これがfor-eachループでありますarray_idのすべての要素を繰り返し処理します。現在の要素の値はitemからアクセスできます。考えてみましょう:

var array_test = [1, 2, 3, 6] 
array_test.forEach(function(item) { 
    console.log(item); 
}); 

これは、ログに記録します。各要素の上に私たちのループと、それをログに記録するので

1 
2 
3 
6 

としては期待しています。

+0

これは 'for..in'ループの仕組みではありません。 (配列上でそれらを使用すべきでないという事実を除いて)、 'id'変数は値ではなく配列のインデックスを取得します。 – nnnnnn

+0

申し訳ありません、 'forEach'を意味しました! – Li357

+0

ログにidsが表示されていますが、ロード(URL)が適用されていません。 – mrrsb

0

さらに良い方法として、forEachメソッドを使用できます。

ids.split(','). 
forEach(function(item){ 
    $("#item_"+item).load(url)); 
}); 
+0

ありがとうございました@Vatsal! – mrrsb

関連する問題