$(document).ready(function() {
queue_row_template = $("#queue_row_template").html();
var queue_content = $.parseJSON('<?echo $json_queue;?>');
var sex, vk_av;
var table_queue = [];
$.each(queue_content, function(index, obj){
var uid = parseInt((/\d+/).exec(obj.S_VKID));
VK.Api.call('users.get', {uids: uid, fields: 'sex, photo'}, form_row);
function form_row(data) {
console.log(index); // выводится 0 3 4 2 5 6 1 7 8 10 11 9 12 13 15 14 17 18 16 19 20 21 22
if(data.response) {
sex = data.response[0].sex;
vk_av = '<a href="http://vk.com/'+obj.S_VKID+'"><img src='+data.response[0].photo+'></a>';
vk_link = 'href="http://vk.com/'+obj.S_VKID+'"';
}
else{
sex = 0;
vk_av = '<img src="/images/no_av.png" alt="">';
vk_link = '';
}
var will_be = (sex == 1) ? "будет поздравлена" : "будет поздравлен";
var queue_row = queue_row_template.replace( /{{vk_av}}/ig, vk_av)
.replace( /{{date}}/ig, obj.f_date[1])
.replace( /{{in_impl}}/ig, obj.f_date[0])
.replace( /{{will_be}}/ig, will_be )
.replace( /{{vk_id}}/ig, "http://vk.com/"+obj.S_VKID )
.replace( /{{vk_link}}/ig, vk_link )
.replace( /{{name}}/ig, obj.S_NAME )
.replace( /{{sms_id}}/ig, obj.S_ID )
.replace( /{{sms_text}}/ig, obj.S_TEXT )
;
$("#sent_queue table").append(queue_row);
}
}); // $.each
}); // $(document).ready
есть шаблон, есть данные из базы, переведенные в json. Нужно из них сделать таблицу. Она делается, но выводятся строки в произвольном порядке. .append внутри цикла тоже нехорошо. Как за пределами функции form_row получить переменную queue_row? Или какие-то еще варианты решения...