繁体   English   中英

如何将一天添加到Pickadate V3日期

[英]How to add a day to pickadate v3 date

我已经建立了一个页面,其中包含2个pickadates。 一个用于开始日期,一个用于结束日期。

我也有一些复选框,标记为:

1天1个月1年

一旦用户从第一个选项中选择了一个日期。 他们可以从第二个约会中选择第二个日期。

但是,我想提供第二种选择。 如果他们检查1天,则第二个Pickadate将是1天+第一个Pickdate的结果。 同样的1个月和1年复选框。

反正有做到这一点吗?

我当前的HTML是:

    <div class="inputdata">
        <label>Timeframe:</label>
        <span>
        <div class="section__block section__block--scoped">
            From:
            <fieldset>
              <input type="text" id="input_from">
            </fieldset>
            To:
            <fieldset>
              <input type="text" id="input_to">
            </fieldset>
        </div>
        </span>
        <div class="clear"></div>
    <span><input id="x_timeframe" type="date" name="date_timeframe"></span>
        <label></label>
        <span id="x_timeframe_checkboxes">
            <input type="radio" name="a_timeframe" id="radio4" value="d" class="css-checkbox"/>
            <label for="radio4" class="css-label">1 Day</label>

            <input type="radio" name="a_timeframe" id="radio5" value="w" class="css-checkbox"  />
            <label for="radio5" class="css-label">1 Week</label>

            <input type="radio" name="a_timeframe" id="radio6" value="m" class="css-checkbox" />
            <label for="radio6" class="css-label">1 Month</label>

            <input type="radio" name="a_timeframe" id="radio8" value="n" class="css-checkbox"  />
            <label for="radio8" class="css-label">None</label>
        </span>
    </div>

只是为了熟悉,js包括:

<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.date.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.time.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/legacy.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/demo/scripts/main.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/pickadate1454.js"></script>

+1天#from_picker

var from_picker = $('#input_from').pickadate(), to_picker = $('#input_from').pickadate();

from_picker.pickadate('picker').on('set', function (event) {
    if (event.select) {
        to_picker.pickadate('picker').set('select', from_picker.pickadate('picker').get('select').pick + 1 * 24 * 60 * 60 * 1000);
    }
});

通过从date字段获取值并转换为js Date并添加Days或Moths,您可以仅使用JS来完成操作。

我总是创建7个函数以在JS中处理日期:addSeconds,addMinutes,addHours,addDays,addWeeks,addMonths,addYears。

您可以在此处查看示例: http : //jsfiddle.net/tiagoajacobi/YHA8x/

如何使用:

var now = new Date();
console.log(now.addWeeks(3));

这些是功能:

        Date.prototype.addSeconds = function(seconds) {
            this.setSeconds(this.getSeconds() + seconds);
            return this;
        };

        Date.prototype.addMinutes = function(minutes) {
            this.setMinutes(this.getMinutes() + minutes);
            return this;
        };

        Date.prototype.addHours = function(hours) {
            this.setHours(this.getHours() + hours);
            return this;
        };

        Date.prototype.addDays = function(days) {
            this.setDate(this.getDate() + days);
            return this;
        };

        Date.prototype.addWeeks = function(weeks) {
            this.addDays(weeks*7);
            return this;
        };

        Date.prototype.addMonths = function (months) {
            var dt = this.getDate();

            this.setMonth(this.getMonth() + months);
            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };

        Date.prototype.addYears = function(years) {
            var dt = this.getDate();

            this.setFullYear(this.getFullYear() + years);

            var currDt = this.getDate();

            if (dt !== currDt) {  
                this.addDays(-currDt);
            }

            return this;
        };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM