如何通过使用 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 link:https://jsfiddle.net/kdoo53vg/41/

我是编程新手。如果你能告诉我怎么做,我将不胜感激。多谢。

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

您可以使用 Date 对象 next/prev 日期

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

您正在使用的库没有内置方法可以跳到 next/previous 天,但是它确实公开了您可以用来自己创建功能的方法。

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

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>