Pergunta

Eu sei que esta é provavelmente uma pergunta simples, mas eu estou tentando um ajuste em um plugin & js não é a minha experiência e eu fiquei perplexo sobre como fazer o seguinte:

Eu tenho uma matriz que pode conter um número de valores ($ fruta), dependendo do que um usuário entrou. Quero acrescentar outra variável para a matriz que não é determinada pela entrada manual.

Eu sei impulso deve aplicar aqui, mas não parece trabalho, por que faz o seguinte sintaxe não trabalho?

var veggies = "carrot";
var fruitvegbasket = $('#fruit').val();
fruitvegbasket.push(veggies);

atualização: Eu tenho que trabalhar fazendo isso:

var fruit = $('#fruit').val();
var veggies = "carrot";
fruitvegbasket = new Array();
fruitvegbasket.push(fruit+","+veggies);

Não é certeza que é a melhor maneira de fazê-lo, mas ele funciona. Obrigado a todos!

Foi útil?

Solução

Em cima da minha cabeça, eu acho que deveria ser feito assim:

var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);

Outras dicas

jQuery não é o mesmo como uma matriz. Se você quiser acrescentar algo no final de um objeto jQuery, use:

$('#fruit').append(veggies);

ou para anexá-lo ao final de um valor forma como no seu exemplo:

 $('#fruit').val($('#fruit').val()+veggies);

No seu caso, fruitvegbasket é uma cadeia que contém o valor atual de #fruit, não uma matriz.

jQuery ( jquery.com ) permite a manipulação DOM, e a função específica você chamou val() retorna o atributo value de um elemento input como uma string. Você não pode empurrar algo em uma string.

.val() não retornar um array de um elemento DOM:. $('#fruit') vai encontrar o elemento no documento com um ID de #fruit e obter o seu valor (se ele tiver um valor)

Talvez $('#fruit').val(); não está retornando um array e você precisa de algo como:

$("#fruit").val() || []

http://docs.jquery.com/Attributes/val

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top