将Var的值推入数组

时间:2009-08-17 03:48:32

标签: javascript jquery arrays push

我知道这可能是一个简单的问题,但我正在尝试在插件中进行调整。 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);

不确定这是最好的方法,但它确实有效。谢谢大家!

4 个答案:

答案 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)

也许$('#fruit').val();没有返回数组,你需要这样的东西:

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

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