【问题标题】:How to enable specific days for all month in datepicker如何在日期选择器中为所有月份启用特定日期
【发布时间】:2018-07-13 08:04:04
【问题描述】:

如何在 jquery datepicker 中仅显示所有月份和年份的特定日期。 我只想为所有月份启用 2 天和 16 天。年月无限制。 如果可能的话给我解决方案。 http://jsfiddle.net/yXMKC/4245/

Js:

var available_formatted_days_list = ["07-02-2018", "07-16-2018"];
function check_available_date( date ) {
    var formatted_date = '', ret = [true, "", ""];
    if (date instanceof Date) {
        formatted_date = $.datepicker.formatDate( 'mm-dd-yy', date );
    } else {
        formatted_date = '' + date;
    }
    if ( -1 === available_formatted_days_list.indexOf(formatted_date) ) {
        ret[0] = false;
        ret[1] = "date-disabled"; 
        ret[2] = "Date not available"; // put your custom message here
    }
    return ret;
}

$('#date').datepicker({
    dateFormat: 'dd-mm-yy',
    beforeShowDay: check_available_date
});

HTML:

<input type="text" name="date" id="date" readonly="readonly" size="12" />

【问题讨论】:

    标签: jquery arrays datepicker jquerydatetimepicker


    【解决方案1】:

    这是我的解决方案

    $('#date').datepicker({
        dateFormat: 'dd-mm-yy',
        beforeShowDay: function(d) {
        console.log("in"+d.getDate());
           if (d.getDate() == 2 || d.getDate() == 16) {
             return [true, "" ];
           } else {
              return [false, "" ];
           }
        }
    });
    

    【讨论】:

      【解决方案2】:

      您需要进行一些更改才能使其正常工作。

      1. 首先让你在available_formatted_days_list数组中作为数字列表

        available_formatted_days_list = [2, 16]

      2. 通过 Date API 获取当前日期

        let currentDay = date.getDate();

      3. 改为检查此值

        if ( -1 === available_formatted_days_list.indexOf(currentDay) )

      http://jsfiddle.net/aurc7xwp/

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-30
        • 2015-04-18
        • 2016-08-24
        • 2016-08-26
        • 1970-01-01
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多