繁体   English   中英

如何使用pickadate js通过单击前一天/后一天按钮来更改日期

[英]how to change day by clicking previous / next day buttons using pickadate js

我正在使用pickadate选择日期。 我试图通过单击前一天或后一天按钮来更改所选日期

    <form method="post">
    <a href="#">previus day</a>
    <input type="text" id="test" data-value="01/11/2017">
    <a href="#">next  day</a>
    <button type="submit">Submit</button>
    </form>

    <script>
    $('#test').pickadate({format: 'dd/mm/yyyy'});
    </script>

这是jsfiddle链接: https ://jsfiddle.net/kdoo53vg/41/

我是编程新手。 如果您能向我展示解决方法,我将不胜感激。 谢谢堆。

您正在使用的库没有内置方法可跳至下一天/前几天,但是它确实提供了可用于自己创建功能的方法。

单击下一步/上一个按钮时,您可以获取当前选定的日期,然后从中添加或减去一天,如下所示:

 var picker = $('#test').pickadate({ format: 'dd/mm/yyyy' }).pickadate('picker'); $('#previous_day, #next_day').click(function(e) { e.preventDefault(); setDate($(this).data('diff')); }) function setDate(diff) { var date = new Date(picker.get('select').pick); var newDate = date.setDate(date.getDate() + diff); picker.set('select', newDate) } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.date.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.time.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.date.css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.time.css" /> <form method="post"> <a href="#" id="previous_day" data-diff="-1">previous day</a> <input type="text" id="test" data-value="01/11/2017"> <a href="#" id="next_day" data-diff="1">next day</a> <button type="submit">Submit</button> </form> 

您必须将click事件添加到前一天/第二天的链接。 我不知道这个插件,但是如果有prev / next功能,您可以使用它。 如果不是,则必须从输入中读取日期并为其设置下一个/上一个日期。

您可以使用Date对象获得下一个/上一个日期

var date = new Date(),
    prevDate = date.setDate(date.getDate() - 1),
    nextDate = date.setDate(date.getDate() - 1);

暂无
暂无

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

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