Проблема добавления и удаления в массиве с jquery и флажками - PullRequest
0 голосов
/ 18 апреля 2011

У меня возникла проблема при попытке создать массив отмеченных флажков.

Флажки генерируются динамически с атрибутом "onChange", который вызывает функцию javascript для добавления или удаления в массиве.Функция получает "talla", что это значение для добавления или удаления.

Это мой код JavaScript для функции: (arrayTallas является глобальным)

function checkbox_marcado(talla) 
    {
        if(jQuery('#id_talla').is(':checked') == true)
        {
            arrayTallas.push(talla);

        } 
        else //elimina posicion del array al deseleccionar un checkbox
        {

                var index = arrayTallas.indexOf(talla);         
                arrayTallas.splice(index,1);
        }
    }

Проблема в том, чтоПервый флажок работает нормально, но остальные не удаляются.

Например.Если у меня есть 3 флажка со значениями «1», «2», «3», если я нажимаю на первый, он добавляется нормально, и если я нажимаю на него снова, он тоже обычно удаляется ... но если я нажимаю напервый, а затем второй, когда я снова нажимаю на второй, чтобы удалить его из массива, когда я печатаю массив, это то, что я получаю: 1 2 2

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 апреля 2011

Я думаю, что вы хотите сказать:

jQuery('#id_' + talla)

, где вы говорите:

jQuery('#id_talla')

Также убедитесь, что у вас нет нескольких флажков с одинаковыми id атрибут.

0 голосов
/ 18 апреля 2011

Если вы все равно используете jQuery, почему бы не использовать такую ​​функцию:

$('#tallas').live('click', function(){
   $(':checkbox:checked').map(function() {
     return this.value;
   }).get().join(',');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...