将HTML表单数组序列化为Javascript数组

时间:2013-12-16 18:52:23

标签: javascript jquery arrays json

我有一个包含文本字段列表的表单

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

在向用户显示JSON块之前,我正在运行一些自定义jQuery来验证输入并执行其他一些操作。我想要实现的是这些元素应该成为标准的javascript数组la:

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

我是否可以对特定元素进行简单调用以将其作为数组拉入,这样的话?

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

2 个答案:

答案 0 :(得分:1)

使用您拥有的结构并假设您想获得可以执行的值:

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

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

答案 1 :(得分:0)

有jQuery的serialize功能。 This topic与您的相似,可能会为您提供更高级的见解。