Wpis z mikrobloga

#jquery #javascript

Pomocy ze składnią mirki.
Mam arraya i używając jQuery.each mogę wylistowąc sobie rząd po rzędzie interesującą mnie wartość.

jQuery.each(json2, function(i, e) {
console.log(e.numbers.total_numbers);
})

Problem jest taki, że każdą iterację tego arraya muszę przypisać do odpowiadajągo mu elementu w innych .each.

jQuery('.get-total-numbers').each(function(idx, obj){
$(this).text(e.numbers.total_numbers)
});

W skrócie chodzi o to, że dla pierwszego loopa dla 1 elementu .get-total-numbers przypisać pierwszy objekt, dla drugiego drugi, trzeciego trzeci etc. Kombinuję od 3h i nie mogę się połapać w tym.

Rozwijając bo napisałem jak potłuczony. Dwa odrębne arraye, jeden jsonowy listujący pokolei objekty, drugi selector '.get-total-numbers muszą się zmatchować 1:1, 2:2, 3:3, 4:4 etc
  • 7
  • Odpowiedz
@alteran:

Właśnie tu jest problem:

jQuery('.get-total-numbers').each(function(i,e){
var $el = jQuery(e);
jQuery.getJSON('/data.json', function(json)
{
myjson = json;
json2 = JSON.parse(myjson);
jQuery.each(json2, function(index,e){
console.log(e.share.share_count);
$el.text(e.share.share_count);
})

});
});

Najpierw jedzie po kolei div.get-total-numbers i dla kazdego z nich robi kolejnego each z jsonem i przypisuje dla każdego z nich taką samą wartość.

Console.log wygląda tak:
887
1033
23608
52
227
etc. więc jest wszystko dobrze. Tylko na 1 each dla get-total-numbers powinien pobrać
  • Odpowiedz
@amarantowy: z dokumentacji jquery o each:
callback
Type: Function( Integer indexInArray, Object value )
więc mógłbyś w jednym each wykorzystać index przy przypisaniu do odpowiedniej pozycji w arrayu ?;>
  • Odpowiedz