【发布时间】:2014-12-02 15:07:30
【问题描述】:
我不确定这是否可能以及如何处理它 - 在 datepicker 中选择日期时执行 Ajax。我没有从控制台中的 Ajax 部分收到任何错误。在“按比例分配”的 div ID 中,我得到的是“成功”而不是按比例分配的订阅值。我需要使用 JSON 从 PHP 文件中获取返回值吗?
目标是根据所选日期和所选月份剩余天数按比例分配订阅价格。
当前代码看起来像并且正在计算所选月份的剩余天数:
<script>
jQuery(document).ready(function() {
jQuery("#dataStart").datepicker({
minDate: '+2d',
changeMonth: true,
changeYear: true,
dateFormat: 'mm/dd/yy',
onSelect: function(date){
var dates = date.split('/');
var lastDate = new Date(dates[2], dates[0], 0);
var y = lastDate.getFullYear(), m = lastDate.getMonth(), d = lastDate.getDate();
m = ('0'+ (m+1)).slice(-2);
jQuery('#dataEnd').val(m+'/'+d+'/'+y);
var start = jQuery('#dataStart').datepicker('getDate');
jQuery('#dataEnd').datepicker({dateFormat: 'mm/dd/yy'}).datepicker('setDate', m+'/'+d+'/'+y);
var end = jQuery('#dataEnd').datepicker('getDate');
var days = ((end - start)/1000/60/60/24)+1;
jQuery('#calculated').text(days);
jQuery.ajax({
url:"prorated.php",
type: "POST",
data: {prorated_days: days, prorated_subscription: 25, prorated_package: "basic"},
success:function(data, result){
$("#prorated").html(result);
}
});
}
});
});
</script>
<label for="dataStart">Start Date:</label>
<input type="text" style="width: 88px;" class="datepicker" id="dataStart" size="10" name="dataStart" data-role="date" />
<label for="dataEnd">End Date:</label>
<input type="text" style="width: 88px;" class="end_date" id="dataEnd" size="10" name="dataEnd" value="" readonly />
【问题讨论】:
-
请包含您尝试执行的 Ajax 代码。
-
@JeffWatkins 已更新。另外,为什么在主题时投反对票?
-
您在“按比例分配”的 div 中获得了“成功”,因为您将 html 设置为成功函数的 textStatus 值(您称之为
result)。你可能想要html(data)。 -
@jacktheknife,恐怕不是我!
标签: jquery ajax jquery-ui datepicker