Ответ 1
Сверху моей головы я думаю, что это должно быть сделано вот так:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);
Я знаю, что это, вероятно, простой вопрос, но я пытаюсь настроить плагин, а js не является моим опытом, и я не понимаю, как это сделать:
У меня есть массив, который может содержать несколько значений ($ fruit) в зависимости от того, что пользователь ввел. Я хочу добавить другую переменную в массив, который не определяется ручным вводом.
Я знаю, что push должен применяться здесь, но он не работает, почему следующий синтаксис не работает?
var veggies = "carrot";
var fruitvegbasket = $('#fruit').val();
fruitvegbasket.push(veggies);
обновление: Я заработал это:
var fruit = $('#fruit').val();
var veggies = "carrot";
fruitvegbasket = new Array();
fruitvegbasket.push(fruit+","+veggies);
не уверен, что лучший способ это сделать, но он работает. спасибо всем!
Сверху моей головы я думаю, что это должно быть сделано вот так:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);
jQuery не совпадает с массивом. Если вы хотите добавить что-то в конец объекта jQuery, используйте:
$('#fruit').append(veggies);
или добавить его в конец значения формы, как в вашем примере:
$('#fruit').val($('#fruit').val()+veggies);
В вашем случае fruitvegbasket
- это строка, содержащая текущее значение #fruit
, а не массив.
jQuery (jquery.com) позволяет манипулировать DOM, а специальная функция, которую вы назвали val()
, возвращает атрибут value
input
как строка. Вы не можете нажимать что-то на строку.
.val()
не возвращает массив из элемента DOM: $('#fruit')
собирается найти элемент в документе с идентификатором #fruit и получить его значение (если оно имеет значение).
Возможно, $('#fruit').val();
не возвращает массив, и вам нужно что-то вроде:
$("#fruit").val() || []