【问题标题】:How to find which date is deselected in Bootstrap datepicker?如何在 Bootstrap 日期选择器中找到取消选择的日期?
【发布时间】:2019-08-28 02:42:58
【问题描述】:

我正在尝试找到一种方法来创建一个包含所有选定日期的数组,但如果有人取消选择日期,那么它将从数组中删除该日期。

我编写了以下 JavaScript 代码来获取选中和取消选中的日期。

我正在使用bootstrap datepicker

$(function() {
  $('#disc_single_datepicker_1').datepicker().on('show', function(event) {
    DatePicker.hideOtherMonthDays();
  });
  var input_val = '';


  $('#disc_single_datepicker_1').on('changeDate', function(event) {
    //console.log(moment(event.date).format('MM/DD/YYYY h:mm a'));
    var storage = new Array();

    var formatted_date = moment(event.date).format('DD/MM/YYYY');
    console.log(formatted_date);
    if (formatted_date != '') {
      input_val = input_val + formatted_date + ",";
    }

    var exp = input_val.split(",");

    for (var i = 0; i < exp.length; i++) {
      if (exp[i] != '') {
        storage[i] = exp[i];
      }
    }
    console.log(storage);

  });


});

我正在尝试从日期选择器中查找用户取消选择的日期。

我也在使用一次只显示当前月份日期的功能。该函数名为Datepicker.hideOtherMonthDays(),因此显示如下:

提前致谢:)我已经尝试了很多方法,但不知道如何做到这一点。:)

【问题讨论】:

  • 为什么你需要知道哪一个被取消了?为什么不能只用选定的日期重新创建数组?
  • 如果您查看代码,那么我已将事件更改为 changeDate 事件,并且它每次都创建新数组,但例如有人选择 28,29,30,我的数组为 28,29 ,30 但如果用户将其更改为 28,30 那么我的数组没有给我这两个日期但它给我的只是 30 而不是 28 和 30。

标签: javascript php jquery bootstrap-datepicker


【解决方案1】:

我相信你走错路了。 无需知道哪个被取消选择,只需使用所选日期重新创建您的数组。

当您选择一个日期时,datepicker 会返回一个包含所有选定日期的事件。

如果您打印以控制实际事件,您可以看到 dates 属性。

然后,如果需要,您可以循环该数组。 这样您就无需知道取消选择的日期。

这是一个最小的代码示例。

$('#disc_single_datepicker_1').datepicker({
    multidate: true
  }).on('show', function(event) {
    DatePicker.hideOtherMonthDays();
  }).on('changeDate', function(event) {
    var storage = new Array();
    //here's the magic
    for (var i = 0; i < event.dates.length; i++) {
      var formatted_date = moment(event.dates[i]).format('DD/MM/YYYY');
      storage.push(formatted_date);
    }

    console.log(storage);
  });

Here's a working fiddle(打开控制台)。

PS:如果您想在其他地方使用变量storage,可能需要将其移出范围。

【讨论】:

  • 非常感谢,我学到了一些东西,我现在正在实施这个,如果有任何问题会问你,但非常感谢你的帮助。
猜你喜欢
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 1970-01-01
相关资源
最近更新 更多