jquery从HTML表单发布数组数据

时间:2013-04-23 12:26:44

标签: javascript jquery

在我的一个HTML页面中,有一些输入字段具有相同的名称属性,因为我想将它们作为数组发送到另一个PHP以用于后端事务。

假设输入字段如下:

<input type="text" name="language_names[]" value="english">
<input type="text" name="language_names[]" value="french">
<input type="text" name="language_names[]" value="spanish">

现在我想用Jquery发送这个数组?我正在使用 .post()方法,我知道单值可以发送为 {key1:value1,key2:value2 ...} ,但是对于数组我怎么能这样做?我想它应该接近

{'language_names[]' : $('#input[name="language_names[]"]').val()}

但它不起作用(我检查请求正文)。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:5)

像这样使用jquery的序列化函数

// This returns a json representation of your form values
$('#formid').serialize();

答案 1 :(得分:0)

或者您也可以这样做:

{'language_names[]' : $('input[name=language_names\\[\\]]').serialize()}

答案 2 :(得分:0)

由于您需要一个包含这些特定输入元素值的简单数组,因此可以使用以下内容:

function getLanguageValues() {
    var language_names = [];
    $.each($("input[name=language_names\\[\\]]"), function (indexInArray, valueOfElement) {
        language_names.push($(valueOfElement).val());
    });
    return language_names;
}

这是jsfiddle