Pregunta

Sé que esto es probablemente una pregunta sencilla, pero estoy intentando un pellizco en un plugin y js no es mi experiencia y me confundido sobre cómo hacer lo siguiente:

Tengo una matriz que puede contener un número de valores ($ fruta) dependiendo de lo que ha entrado en un usuario. Quiero añadir otra variable a la matriz que no está determinado por la introducción manual.

Sé empuje debe aplicarse aquí, pero no parece que trabajar, ¿por qué la siguiente sintaxis no funciona?

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

Actualización: Lo tengo trabajo hacer esto:

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

No está seguro de que es la mejor manera de hacerlo, pero funciona. gracias a todos!

¿Fue útil?

Solución

De la parte superior de mi cabeza creo que debe hacerse así:

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

Otros consejos

jQuery no es el mismo como una matriz. Si desea añadir algo al final de un objeto jQuery, utilice:

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

o para añadirlo al final de un valor forma como en su ejemplo:

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

En su caso, fruitvegbasket es una cadena que contiene el valor actual de #fruit, no una matriz.

jQuery ( jquery.com ) permite la manipulación DOM, y la función específica que llamó val() devuelve el atributo de un value input elemento como una cadena. No se puede empujar algo en una cadena.

.val() no devuelve una matriz de un elemento DOM: $('#fruit') va a encontrar el elemento en el documento con un ID de #fruit y obtener su valor (si tiene un valor)

.

Tal vez $('#fruit').val(); no devuelve una matriz y se necesita algo como:

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top