2016-09-06 24 views
0

我有一個字符串列表的ID在哪裏;循環URL和使用數組的負載取決於ID

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

只是DIV

<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> 

的表示,並轉換成數組(如果你有一個更好的解決方案,以字符串轉換爲數組,請分享,TIA!)

array_id = ids.split(','); 

我的問題是我怎麼能循環的網址,並加載到一個不同的股利與數組ID?

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

你是說你想用* same * URL填充* same *內容的multipe div嗎? (注意,你可以做'var array_id = id.split(',');' - 你不需要'new Array()',因爲它會創建一個新的空數組,但'.split()'創建一個新的數組本身,你不需要'ids'變量,你可以直接使用'id'函數參數。) – nnnnnn

+0

沒有先生@nnnnnn,我已經與他們的ID的div。我只需要加載/重新加載更新的內容。謝謝 – mrrsb

+1

那麼「循環網址」是什麼意思?請[編輯]您的問題以顯示「url」變量中的內容,並闡明您想要處理的內容。 (也許你可以展示一個* short *的html樣本。) – nnnnnn

回答

2

你可以做一個for循環遍歷每個元素:

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

日誌獲取ID,但加載(url)未應用 – mrrsb

0

更好的是,您可以使用forEach方法。

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

謝謝先生@Vatsal! – mrrsb