我有一个用serializeArray()序列化的表单。我可以使用.load()函数将数据传递给php,如下所示:
$('#searchResults').load('search.php', formData);
我还想要传递一个额外的值,而不是表单数据的一部分。我可以单独工作,如下:
$('#searchResults').load('search.php', {'dbVersion': myVersion});
然而,我无法让他们同时通过和工作。
我已经尝试使用$ .post()在回调中传递带有.load()的变量来发布表单数据......但是没有用。我已尝试过多种方法来分离数据:
$('#searchResults').load('search.php', {'dbVersion': myVersion, formData});
如何让函数同时传递单个变量和序列化数组?
我在另一篇文章中看到了这个,但尚未尝试过。我很快就会在这里试试:
var data = $('#myForm').serializeArray();
data.push({name: 'wordlist', value: wordlist});
$.post("page.php", data);
答案 0 :(得分:0)
将附加字段添加到formData
formData.dbVersion = myVersion;
$('#searchResults').load('search.php', formData);
您也可以使用$.extend
合并它们,而无需修改对象。
$('#searchResults').load('search.php', $.extend({dbVersion: myVersion}, formData);
答案 1 :(得分:0)
本周末我找到了答案。这是有效的:
$(document).on('click', '#search', function() {
var dropdownValue = $("#select").val();
var data = { dropdownValue : dropdownValue, version : myVersion}
$('#searchResults').load('search.php', data);
});