2009-08-17 12 views
15

Sé que esto es probablemente una cuestión sencilla, pero estoy intentando un pellizco en un plugin & js no es mi experiencia y yo nos perplejo sobre cómo hacer lo siguiente:valor de Var en una matriz

Tengo una matriz que puede contener varios valores ($ fruta) dependiendo de lo que haya ingresado un usuario. Quiero agregar otra variable a la matriz que no esté determinada por la entrada manual.

Sé que debe aplicar push aquí, pero parece que no funciona, ¿por qué la siguiente sintaxis no funciona?

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

: 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!

Respuesta

32

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

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

jQuery no es lo mismo que 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 elemento valueinput como una cadena. No puedes empujar algo en una cuerda.

+0

¿No necesitan un ' '' +' 'veggies' antes? – Dan

1

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

Cuestiones relacionadas