$.ajax({
url: '<?=parseLink("modules/Contacts/output/output.php")?>',
data: {
$('.contacts-block-input-text').each(function(){
id: $(this).attr('id'),
value: $(this).val()
})
},
type: 'post',
success: function(result){
$('.resultMessage').text(result)
}
})
因此会有动态数量的输入字段,我需要收集所有contacts-block-input-text
值并以某种方式在data
字段中传递它们。我怎么能这样做?给出的示例不起作用。
答案 0 :(得分:5)
您必须构建一个数组,收集输入数据:
var myData = [];
$('.contacts-block-input-text').each(function(){
myData.push({
id: $(this).attr('id'),
value: $(this).val()
});
});
然后您可以使用myData
将其传递给ajax调用。
$.ajax({
url: '<?=parseLink("modules/Contacts/output/output.php")?>',
data: myData,
type: 'post',
success: function(result){
$('.resultMessage').text(result)
}
});
答案 1 :(得分:2)
您可以简单地遍历您的jQuery数组,合并数据对象,然后将其传递给AJAX调用:
var d = [];
$(".contacts-block-input-text").each(function() {
d.push({ id: this.id, value: this.value });
});
$.ajax({
data: d
// ...
答案 2 :(得分:1)
您也可以使用$.map()
生成数据对象并将其传递给ajax
方法,如下所示。
var myData = $('.contacts-block-input-text').map(function() {
return { 'id': this.id, 'value': this.value };
}).get();
$.ajax({
url: '....',
data: myData,
//and so on...
});