riot - title html javascript
Empujando el valor de Var en una matriz (4)
Sé que esta es probablemente una pregunta simple, pero estoy intentando modificar un plugin & js no es mi experiencia y me sorprendió cómo hacer lo siguiente:
Tengo una matriz que puede contener una cantidad de valores ($ fruta) dependiendo de lo que un usuario haya ingresado. Quiero agregar otra variable a la matriz que no está determinada por la entrada manual.
Sé que push debería aplicarse aquí pero no parece funcionar, ¿por qué no funciona la siguiente sintaxis?
var veggies = "carrot";
var fruitvegbasket = $(''#fruit'').val();
fruitvegbasket.push(veggies);
actualización: lo tengo funcionando haciendo esto
var fruit = $(''#fruit'').val();
var veggies = "carrot";
fruitvegbasket = new Array();
fruitvegbasket.push(fruit+","+veggies);
No estoy seguro de que sea la mejor manera de hacerlo, pero funciona. ¡gracias a todos!
Desde lo alto de mi cabeza, creo que debería hacerse así:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);
Quizás $(''#fruit'').val();
no está devolviendo una matriz y necesitas algo como:
$("#fruit").val() || []
jQuery no es lo mismo que una matriz. Si desea agregar algo al final de un objeto jQuery, use:
$(''#fruit'').append(veggies);
o para agregarlo al final de un valor de formulario 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 de DOM y la función específica que llamó val()
devuelve el atributo de value
de un elemento de input
como una cadena. No puedes poner algo en una cuerda.
.val()
no devuelve una matriz desde un elemento DOM: $(''#fruit'')
va a encontrar el elemento en el documento con un ID de #fruit y obtendrá su valor (si tiene un valor).