正确的方法推送到JS阵列

时间:2014-03-08 06:40:18

标签: javascript arrays

我有一个名为'inputs'的数组,我想将一些值推送到。

我想知道这是否是正确的方法:

inputs.push(name: $('#uploaderName').name(), value: $('#uploaderName').val());

#uploaderName是表单字段的ID,其中包含我想要推送的值。

仅供参考,'inputs'数组是这样创建的:

var inputs = data.context.find(':input').not(':button');

我也试过这个没有运气:

inputs.push({name: $('#uploaderName').attr("name"), value: $('#uploaderName').val()});

为了解释一下,在这个脚本的末尾它调用:

data.formData = inputs.serializeArray();

然后将该数据传递给PHP脚本。我需要能够在调用inputs.serializeArray()之前为'inputs'添加一些值。

2 个答案:

答案 0 :(得分:1)

对于jQuery个集合,您可以在.add()中添加其他Element

inputs = inputs.add('#uploaderName');

jQuery集合实际上不是Array。它们只是数组,意味着它们具有length和数字属性,但它们不会有Array方法,如.push()

答案 1 :(得分:0)

您正在存储对象,因此请先使用{...}制作对象,然后将其存储到inputs数组中,例如

inputs.push({name: $('#uploaderName').name(), value: $('#uploaderName').val()});
//----------^----------------------------------------------------------------^

var myObj  = {name: $('#uploaderName').name(), value: $('#uploaderName').val()}; 
inputs.push(myObj);