我有一个日期功能,条件是如果用户选择今天的日期,将收取 RM 10.00,如果用户选择明天的日期,则费用为 5.00,否则将收取 0.00。对于每种情况,我都必须创建一个会话,以便可以将其传递给其他模块。但是,当用户选择日期并单击下一步时,会话的数据也会返回最后一个条件的最后一个值,其中值为 0.00。下面是代码:
window.onload = function(){
var d = new Date();
d.setDate(new Date().getDate());
var time = d.toTimeString().substr(0, d.toTimeString().lastIndexOf(" "));
if(d.toTimeString() > "17.00")
{
$(document).ready(function() {
$('#datepicker-example2').Zebra_DatePicker({
direction:1,
onSelect: function(view, elements) {
var month = d.getMonth()+1;
var day = d.getDate();
var next_day = 1;
var tomoro = new Date();
var res = tomoro.setTime(tomoro.getTime() + (next_day * 24 * 60 * 60 * 1000));
tomoro = new Date(res);
var tom_month = tomoro.getMonth()+1;
var tom_day = tomoro.getDate();
var currDate = d.getFullYear() + '-' +
((''+month).length<2 ? '0' : '') + month + '-' +
((''+day).length<2 ? '0' : '') + day;
var tomDate = tomoro.getFullYear() + '-' +
((''+tom_month).length<2 ? '0' : '') + tom_month + '-' +
((''+tom_day).length<2 ? '0' : '') + tom_day;
if($('#datepicker-example2').val() == currDate)
{
$('#charge').val('RM10.00');
setSession('10.00');
}else
if($('#datepicker-example2').val() == tomDate)
{
$('#charge').val('RM5.00');
setSession('5.00');
}else
{
$('#charge').val('RM0.00');
setSession('0.00');
}
}
});
});
}
}
function setSession(str)
{
$.ajax({url: "set_session.php", type: "post", data: {"ses": str}})
}
set_session.php 页面
<?php session_start();
$ses = $_POST['ses'];
$_SESSION['charge'] = $ses; ?>
主文件保存在 .tpl
*更新: 现在我可以获取值,但似乎事件有问题。例如:起初我选择今天的日期,所以费用假设为 10 rm。但它显示0。然后我回到上一页,选择明天的日期,费用假设是5rm,但它显示10rm,这是上一个记录会话。如果我回去,然后选择另一个日期,它将显示 5rm,n 等。
我使用了错误的事件吗?或者那会发生什么?我该怎么解决?