我知道这可能是一个简单的问题,但我正在尝试在插件中进行调整。 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);
不确定这是最好的方法,但它确实有效。谢谢大家!
答案 0 :(得分:36)
我认为应该这样做:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);
答案 1 :(得分:6)
jQuery与数组不同。如果要在jQuery对象的末尾附加某些内容,请使用:
$('#fruit').append(veggies);
或将其附加到表单值的末尾,如示例中所示:
$('#fruit').val($('#fruit').val()+veggies);
在您的情况下,fruitvegbasket
是一个字符串,其中包含#fruit
的当前值,而不是数组。
jQuery(jquery.com)允许DOM操作,您调用的特定函数val()
将value
元素的input
属性作为字符串返回。你不能把东西推到一个字符串上。
答案 2 :(得分:1)
.val()
不会从DOM元素返回数组:$('#fruit')
将在文档中找到ID为#fruit的元素并获取其值(如果它有值)。
答案 3 :(得分:0)