我正在使用jQuery创建价格和日期表。经过一些考验和磨难后,现在运作良好。 为了进一步改善它,我想为网站访问者提供以其他货币显示价格的可能性。所以我需要更新表格,大部分数据都相同,只更改货币。
该表最初加载了此代码
function Dates(getresult){
$.ajax ({
type: 'post',
url: '/includes/calendar_price_currency.php',
data: $("#StartDateCal").serialize(),
success: function(result) {
$("#pricePickerResult").html(result);
}
});
}
// Auto load ajax
Dates('getresult');
这会在StartDateCal div中包含隐藏的输入(包括货币的名称),并通过calendar_price_currency.php文件运行它。结果显示在pricePickerResult div。
中在该div之下,我添加了更改货币的按钮。目前我有这个代码来更新表
// Euro currency Link load ajax
$('a#euro').click(function () {
$.ajax ({
type: 'post',
url: '/includes/calendar_price_currency.php',
data: $("#StartDateCal").serialize(),
data: {'currency': 'EUR'},
success: function(result) {
$("#pricePickerResult").html(result);
}
});
return false;
});
但它不起作用!单击该链接会重新加载表,但没有内容。我认为我对“数据”行做错了,但我不知道是什么。我已经尝试删除第二行,然后没有任何明显的事情,但我认为该表正在重新加载相同的数据,所以没有什么可看的。
实际上,我需要大部分数据保持不变,只需要改变货币。我原本希望我的第二条数据线只会覆盖货币元素,但看起来它会覆盖所有内容。有没有办法将“序列化”与另一种加载数据的方式相混合?
修改
我发现了一些额外信息here,然后将我的脚本更改为:
$('a#euro').click(function () {
var data = $('#StartDateCal').serializeArray();
data.push({name: 'currency', value: 'EUR'});
$.ajax ({
type: 'post',
url: '/includes/calendar_price_currency.php',
data: data,
success: function(result) {
$("#pricePickerResult").html(result);
}
});
return false;
});
答案 0 :(得分:0)
您有两个要发送的数据值
data: $("#StartDateCal").serialize(),
data: {'currency': 'EUR'},
删除一个。
答案 1 :(得分:0)
如果要将多个值发送到PHP页面,可以执行
data: {
'startDateCal': $('#StartDateCal').serialize(),
'currency': 'EUR'
},