【问题标题】:Datepicker price calculation discountDatepicker 价格计算折扣
【发布时间】:2014-10-24 07:23:23
【问题描述】:

我正在使用 jquery datepicker 根据所选日期计算价格。现在设置为 125 一个月。如果客户选择 3 个月,我想打折 5%,如果客户选择 4 个月以上,我想打折 10%。

怎么做?

http://jsfiddle.net/5BbGS/502/

    function showDays() {
    var start = $('#arr_date').datepicker('getDate');
    var end = $('#dep_date').datepicker('getDate');
    if (!start || !end) return;
    var days = (end - start) / 1000 / 60 / 60 / 24;
    var dayss = days*4.166666666666667;
    dayss = dayss.toFixed(0);
    $('#num_nights').val(dayss);
}

$("#arr_date").datepicker({
    dateFormat: 'dd-mm-yy',
    onSelect: showDays,
     onClose: function( selectedDate ) {
         var dParts = selectedDate.split('-');
         var in30Days = new Date(dParts[2] + '/' +
                        dParts[1] + '/' +
                        (+dParts[0] + 30)
               );

    $( "#dep_date" ).datepicker( "option", "minDate", in30Days );
    }
});
$("#dep_date").datepicker({
    dateFormat: 'dd-mm-yy',
    onSelect: showDays,

});

谢谢你们!

【问题讨论】:

  • 小提琴不工作..
  • 一个月你给多少折扣
  • 喜欢这个jsfiddle.net/x3n3ftwc/1 ..?
  • 一个月我不给任何折扣。如果选择 90 天或以上,则应计算折扣。正如我想象的那样,90-120 天可享受 5% 的折扣,121 天以上可享受 10% 的折扣。
  • 最后一个文本字段是什么?

标签: jquery datepicker discount


【解决方案1】:

使用此功能...

function showDays() {
    var start = $('#arr_date').datepicker('getDate');
    var end = $('#dep_date').datepicker('getDate');
    if (!start || !end) return;
    var days = (end - start) / 1000 / 60 / 60 / 24;
    var dayss = days*4.166666666666667;
    dayss = dayss.toFixed(0);
    if(days>90 && days<=120) dayss = dayss*95/100;
    if(days>120) dayss = dayss*90/100;
    $('#num_nights').val(dayss);
}

http://jsfiddle.net/5BbGS/507/

但我想3个月并不意味着90天,你需要研究一下......

这是一个获取两个日期之间月数的函数:

function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() ;
    months += d2.getMonth();
    return months <= 0 ? 0 : months;
}

http://jsfiddle.net/5BbGS/514/

【讨论】:

  • 该死的......你是对的。也许你有什么建议?
  • 已编辑...如果这对您有帮助,请不要忘记投票并将其标记为正确答案... :)
  • @void : 我不知道他是否可以投票给你他没有足够的分数,但他可以接受你的回答
  • 如果您认为他的问题有益,请先投票赞成
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多