将 Var 的值推入数组
Posted
技术标签:
【中文标题】将 Var 的值推入数组【英文标题】:Pushing value of Var into an Array 【发布时间】:2010-11-20 03:23:56 【问题描述】:我知道这可能是一个简单的问题,但我正在尝试对插件进行调整,而 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);
不确定这是最好的方法,但它确实有效。谢谢大家!
【问题讨论】:
【参考方案1】:在我的脑海中,我认为应该这样做:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.push(veggies);
【讨论】:
【参考方案2】:jQuery 与数组不同。如果你想在 jQuery 对象的末尾附加一些东西,使用:
$('#fruit').append(veggies);
或将其附加到您的示例中的表单值的末尾:
$('#fruit').val($('#fruit').val()+veggies);
在您的情况下,fruitvegbasket
是一个包含 #fruit
的当前值的字符串,而不是一个数组。
jQuery (jquery.com) 允许对 DOM 进行操作,并且您调用的特定函数 val()
将 input
元素的 value
属性作为字符串返回。你不能把东西压到字符串上。
【讨论】:
在veggies
之前不需要','+
吗?【参考方案3】:
.val()
不会从 DOM 元素返回数组:$('#fruit')
将在文档中查找 ID 为 #fruit 的元素并获取其值(如果它有值)。
【讨论】:
【参考方案4】:也许$('#fruit').val();
没有返回一个数组,你需要类似的东西:
$("#fruit").val() || []
http://docs.jquery.com/Attributes/val
【讨论】:
以上是关于将 Var 的值推入数组的主要内容,如果未能解决你的问题,请参考以下文章