Собираем Jquery-велосипед по событию .click
Здравствуйте, мои маленькие любители говнокода. Столкнулся с такой проблемой: жил-был ajax-запрос, который получал при помощи googleAPI коротенькие ссылочки, но затем Гудвину сказали прикрутить список, который должен методично заполняться по получению новой ссылки. Гудвин попробовал создать массив, в который заносятся .push элементы, но потом заметил, что список получается совсем не такой, какой он хотел. Внимание, знатоки, вопрос: "А как бы вы сделали такой список?".
$(document).ready(function() {
$('#list1').hide();
$('#list2').hide();
$('#list3').hide();
$('#pagg').hide();
var arr = [];
$('#loading-example-btn').click( function() {
var btn = $(this);
btn.button('loading');
var appUrl = $('#appendUrl').val();
$.ajax({
url: "https://www.googleapis.com/urlshortener/v1/url?key=...",
type: "POST",
contentType: "application/json",
data: JSON.stringify({
longUrl: appUrl
}),
error: function(err){
// console.log('Error', err.statusText);
$('#result').val(err.statusText);
}
}).done(function(result){
// console.log('short URL:', result.id);
$('#result').val(result.id);
$('#lol').html('Ваша ссылка');
var result = result.id;
arr.push(result);
var new_ul = '<ul class="list-group" id="linklist">'
for (var i=0; i<arr.length; i++) {
new_ul += '<li class="list-group-item">'+arr[i]+'</li>';
new_ul += '</ul>';
$('#list1').replaceWith(new_ul);
$('#list1').show();
console.log(arr[i])
}
}).always( function () {
btn.button('reset');
});
})
});
Обновление
Собственно получился список из одной ссылки, которая потом не меняется, хоть массив и расширяется. Гудвин также пробовал сделать это через .append, то есть: $('#list1').append(...+arr[i]+...)
, но список заполнялся следующим образом: вставляется 1-й элемент, затем вставляется 1 и 2, затем 1, 2, 3, и Гудвин получает список из повторяющихся элементов.
Гудвин будет очень презнателен, если ему кто-нибудь подскажет как проверить эл-ты массива на уникальность, т.е. если у нас есть уже этот эл-т в списке, он не попадал туда повторно.
Cannot read property 'length' of undefined.
Видать, в область видимости не попадает массив unique.