2013-11-19 7 views
-1

У меня есть ul-li блок для размещения изображений. Щелчок на соответствующих изображениях должен удаляться, а значение внутри <span>, которое является родным изображением, должно храниться в переменной. Каждый раз, когда я нажимаю, img должен удалять и каждое значение <span> должно быть добавлено к переменной jquery array. Я сделал это, но когда я предупреждаю переменную массива, она показывает единственное значение текущего клика only.ie, не добавляя значения, сгенерированные с помощью предыдущего щелчка.Как добавить элементы в пустой массив?

Мои JavaScript:

function delImg(newthis){ 

    var Ids= []; 

    $(newthis).parent().hide(); 
    var Id = $(newthis).siblings('.hidden').html(); 
    Ids.push(Id); 
    alert(Ids); 
    return Ids; 

} 

Проблема заключается в том alert(Ids) дает одну переменную вместо массива.

+0

Id сам по себе массив –

+0

@LauriElias, больше напоминает строку (html) для меня. Шабаси: у вас есть только один элемент в вашем массиве. – putvande

+0

Используйте console.log вместо предупреждений для этих и подобных целей – Srle

ответ

1

Поместите объявление массива вне функции (так что вы не сбросить его каждый раз):

var ids = [] 
function delImg(newThis){ 
    $(newThis).parent().hide(); 
    var id = $(newThis).siblings('.hidden').html(); 
    ids.push(id); 
    return ids; 
} 

Кроме того, соглашения об именах предполагают, что вы должны camelCase имена переменных, поэтому я это сделал.

0

Вы должны объявить массив за пределами функции

var Ids = []; 

function delImg(newthis){ 
    // ... 
} 
Смежные вопросы