2013-12-16 84 views
0

我有一个包含文本字段列表序列化的HTML表单数组Javascript数组

<input type="text" name="list[]" value=""> 
<input type="text" name="list[]" value=""> 

我跑了一些自定义的jQuery验证输入,并做一些其他的事情,显示JSON块前一种形式给用户。我想实现的是这些元素应该成为一个标准的JavaScript数组一拉:

{"list":["something","something else"]} 

有一个简单的电话,我可以让特定的元素把它作为一个数组,像这样的东西吗?

var jsonVars = {}; 
jsonVars['list'] = $("input[name=list]").getArray(); 
+0

如果你有一个实际的形式,你可以做'$(形式).serializeArray()' – adeneo

+0

@adeneo我有一个形式,但我不想抢了整个表格的内容。我必须遍历整个地图才能找到我正在寻找的目标。 –

+0

我相信你可以做'$('[input [name^= list]')。serializeArray()'但格式不是你的插件想要的。你需要通过另一个loopie循环来运行'serializeArray()'。 –

回答

1

你所拥有的结构,假设你想你可以做的值:

var jsonVars = {}; 
jsonVars['list'] = $('input[name="list[]"]').map(function(){return this.value;}).get(); 

您可以使用$('input[name="list[]"]').serializeArray()但会以不同的格式返回为对象(含名称和值)的阵列。

0

还有jQuery的serialize函数。 This topic与您的相似,可能会给您一些更高级的见解。