【问题标题】:jQuery: Add months to DatepickerjQuery:将月份添加到 Datepicker
【发布时间】:2020-02-02 22:33:34
【问题描述】:

在 jQuery 和 Datepicker 的帮助下,我想将 # 个月添加到今天的日期。

我在下面的尝试产生了意想不到的结果:

例如 如果我添加 0 个月,我会在今天的日期上增加 9 个月 如果我加 1 个月,我会得到 10 个月的加法。

我已单步执行代码,似乎错误与格式有关。 如果我硬编码:

var ten = $('#mthschange').val();

var ten = 12;

效果很好

如果我测试:

var ten = $('#mthschange').val();
alert(ten);

它会提醒我:12(如果我输入 12)。

好像和数据类型有关。

如何正确指示 Datepicker 将月份添加到日期?

$(function() {
  $('#mthschange').change(function() {
    var ten = $('#mthschange').val();
    var d = new Date();
    d.setMonth(d.getMonth() + ten);
    var e = ($.datepicker.formatDate('yy-mm-dd', d));
    $("#res").val(e);
  });
});
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<p>Input Field : <input id="mthschange" type="text"></p>
<p>Output Field : <input id="res" type="text"></p>
</body>
</html>

【问题讨论】:

    标签: javascript jquery datepicker


    【解决方案1】:

    你的问题是ten是一个字符串,不是整数,所以当你执行时

    d.getMonth() + ten
    

    你会得到类似112 而不是13。改变

    var ten = $('#mthschange').val();
    

    var ten = parseInt($('#mthschange').val());
    

    代码运行良好:

    $(function() {
      $('#mthschange').change(function() {
        var ten = parseInt($('#mthschange').val());
        var d = new Date();
        d.setMonth(d.getMonth() + ten);
        var e = ($.datepicker.formatDate('yy-mm-dd', d));
        $("#res").val(e);
      });
    });
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>jQuery UI Datepicker - Default functionality</title>
      <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
      <link rel="stylesheet" href="/resources/demos/style.css">
      <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    </head>
    <body>
    <p>Input Field : <input id="mthschange" type="text"></p>
    <p>Output Field : <input id="res" type="text"></p>
    </body>
    </html>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多