在我的一个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()}
但它不起作用(我检查请求正文)。有人可以帮忙吗?
答案 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。