2

在我的一个 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()}

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

4

3 回答 3

5

像这样使用jquery的序列化功能

// This returns a json representation of your form values
$('#formid').serialize();
于 2013-04-23T12:27:54.830 回答
0

或者你也可以这样做:

{'language_names[]' : $('input[name=language_names\\[\\]]').serialize()}
于 2013-04-23T12:31:29.307 回答
0

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

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

这是jsfiddle

于 2013-04-23T18:25:02.333 回答