繁体   English   中英

如何显示从Zebra Datepicker中选择的两个日期中选择的天数?

[英]How do I display the number of days selected from two dates selected from Zebra Datepicker?

这是javascript。 我能够运行Zebra Datepicker但无法显示天数。

<script type="text/javascript">
$(function() {
    $('#mystartdate').Zebra_DatePicker({
        direction: 3, // represents the earliest start day from now
        select_other_months: 1,
        pair: $('#myenddate'),
        format: 'm/d/Y'
    });

    $('#myenddate').Zebra_DatePicker({
        direction: [1, 30], // represents 30 days from the selected date
        select_other_months: 1,
        format: 'm/d/Y'
    });
});
</script>

<script type="text/javascript">
function showDays() {
    var start = $('#mystartdate').data('Zebra_DatePicker');
    var end = $('#myenddate').data('Zebra_DatePicker');
    if (!start || !end) return;
    var days = (end - start) / 1000 / 60 / 60 / 24;
    $('#num_nights').val(days);
};
</script>

这是HTML:

<input type="text" name="xstartdate" class="form-control input-sm" id="mystartdate" placeholder="Required">
<input type="text" name="xenddate" class="form-control input-sm" id="myenddate" placeholder="Required">
<input type="text" id="num_nights" readonly>

缺少一些东西:

  1. 用户选择日期后调用showDays() 这可以使用onClose完成(在关闭onClose调用)。
  2. 使用val()来获取日期。
  3. 解析日期,然后进行计算。

 $(document).ready(function() { $(function() { $('#mystartdate').Zebra_DatePicker({ direction: 3, // represents the earliest start day from now select_other_months: 1, pair: $('#myenddate'), format: 'm/d/Y', onClose: function(el) { showDays(el); } }); $('#myenddate').Zebra_DatePicker({ direction: [1, 30], // represents 30 days from the selected date select_other_months: 1, format: 'm/d/Y', onClose: function(el) { showDays(el); } }); }); function showDays() { // get date var start = $('#mystartdate').val(); var end = $('#myenddate').val(); if (!start || !end) return; // parse date var startArr = start.split("/"); var endArr = end.split("/"); var startDate = new Date(startArr[2], startArr[0] - 1, startArr[1]); var endDate = new Date(endArr[2], endArr[0] - 1, endArr[1]); // calculate days var days = Math.round((endDate-startDate)/(1000*60*60*24)); $('#num_nights').val(days); }; }); 
 <!doctype html> <html> <head> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/stefangabos/Zebra_Datepicker/dist/zebra_datepicker.min.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/stefangabos/Zebra_Datepicker/dist/css/default/zebra_datepicker.min.css"> </head> <body> <input type="text" name="xstartdate" class="form-control input-sm" id="mystartdate" placeholder="Required"> <input type="text" name="xenddate" class="form-control input-sm" id="myenddate" placeholder="Required"> <input type="text" id="num_nights" readonly> </body> </html> 

暂无
暂无

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

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