2015-04-07 4 views
-1

Я следующие два массива, который я хочу добавить в сНу идентификатор с помощью JqueryAppend список предметов в Jquery

["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"] 
["Code-1:123", "Code-2:456", "Code-1:789"] 

Массивы имеют информацию о пунктов, которые будут печатать в своих Див-х годов. У меня проблемы с извлечением элементов в массивах. Первый arrat есть Item-1 и Item-1, которые должны быть добавить в ITEMDIV-1 с их кодами, которые код-1 и код-2 Аналогично, Деталь-1 после того как деталь-2 и Кодекс-1 после кода-2 должен быть добавлен в ITEMDIV-2 и так далее. Как добавить их с помощью функции jQuery для цикла и .append().

Мой код:

for (var i = 0; i <= 100; i++) { 
if($("#ITEMDIV"+i).length != 0) { 
// append here 
} 
} 

Желаемая Выход:

First Iteration: 

Item-1:SOMETHING1 
Item-2:SOMETHING2 
Code-1:123 
Code-2:456 


Second Iteration: 

Item-1:SOMETHING3 
Code-1:789 
+0

ваш вопрос очень неясен, вы можете положить пример ожидаемого результата в HTML? – Aleuck

+0

Очень неясно и не имеет смысла для меня – Harko

+0

@Aleuck ожидаемый результат показан в следующем ответе. – developer

ответ

0

Попробуйте

var items = ["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"]; 
 
var codes = ["Code-1:123", "Code-2:456", "Code-1:789"]; 
 

 
var arr = items.concat(codes); 
 

 
$.each(arr, function(key, val) { 
 
    $("div[id^=ITEMDIV]").each(function(i, el) { 
 
    if (new RegExp(el.id.replace(/ITEMDIV/, "")).test(val)) { 
 
     $(el).append(val + "<br />") 
 
    }; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 

 
<div id="ITEMDIV-1"></div> 
 
<br /> 
 
<div id="ITEMDIV-2"></div>

+0

Как насчет того, если у меня есть более двух предметов div? как он может быть динамичным? – developer

+0

Просто я хочу перечислить item1, а затем Item2 в том же списке. Затем следующий пункт 1. Позвольте мне уточнить свой вопрос. – developer

+0

Вы очень правы, но немного недоразумений. Проверьте обновленный запрос. Кстати, спасибо заранее. – developer

0

Не похоже, что вы правильно понимаете массивы, и на самом деле не совсем понятно, что вы пытаетесь сделать.

Если вы пытаетесь, чтобы соответствовать ITEMDIV1 затем добавить, что это никогда не произойдет, как 1-й пункт вашего искомая ITEMDIV0, затем ITEMDIV1 и т.д.

var items = ["Item-1:SOMETHING1", "Item-2:SOMETHING2", "Item-1:SOMETHING3"]; 
var codes = ["Code-1:123", "Code-2:456", "Code-1:789"]; 

for (var i = 0; i <= 100; i++) { 
if($("#ITEMDIV-"+i).length != 0) { 
// append here 
} 
} 

Это теперь будет соответствовать ITEMDIV0, ITEMDIV- 1, ITEMDIV-2 и т. Д., Если они существуют.

редактирования: При необходимости в инициализации из 1 затем начать цикл на 1 и использовать и индекс массива

var arrayIndex; 
for (var i = 1; i <= 100; i++) { 
if($("#ITEMDIV-"+i).length != 0) { 
arrayIndex=i-1; 
// append here 
} 
} 
+0

Ох, он должен быть инициализирован одним. и да, я немного запутался в массивах для циклов. – developer

+0

Ваше обновление имеет меньше смысла. Есть только 1 цикл, 1 выстрел, даже если он работает так, как вы ожидали, что он только увидит последнюю итерацию. –

Смежные вопросы