【问题标题】:Remove a single date from jquery datepicker which has multidate set to true从将多日期设置为 true 的 jquery datepicker 中删除单个日期
【发布时间】:2022-12-04 19:27:59
【问题描述】:

我有一个日期字符串数组。我使用创建了一个日期输入字段

$('#mydatefield').datepicker({
multidate:true;
});

需要添加验证,当有人输入该数组中存在的日期时,应该删除并显示错误消息。 或者 是否可以在 datepicker init 上禁用这些日期?

【问题讨论】:

    标签: javascript jquery datepicker


    【解决方案1】:

    一直在玩 OpenAI 来检查是否可以解决像这样的随机 stackoverflow 问题,这太疯狂了!

    复制你的问题后回答:

    可以使用 jQuery UI 日期选择器的 beforeShowDay 选项来禁用日期选择器中的某些日期。您可以使用此选项指定一个回调函数,该函数确定应在日期选择器中禁用哪些日期。此回调函数应将日期作为参数并返回一个包含两个值的数组:一个指示日期是否可选的布尔值,以及一个包含要应用于日期的 CSS 类的字符串。

    下面是一个示例,说明如何使用 beforeShowDay 选项来禁用日期字符串数组中存在的日期:

    var datesToDisable = ["2022-12-05", "2022-12-06", "2022-12-07"];
    
    $('#mydatefield').datepicker({
        multidate: true,
        beforeShowDay: function(date) {
            var string = $.datepicker.formatDate('yy-mm-dd', date);
            if ($.inArray(string, datesToDisable) != -1) {
                return [false, ""];
            }
            return [true, ""];
        }
    });
    

    在此示例中,beforeShowDay 回调检查当前日期是否在 datesToDisable 数组中。如果是,则日期在日期选择器中被禁用,用户无法选择它。否则,日期被启用并且可以由用户选择。

    如果用户尝试选择 datesToDisable 数组中的日期,您还可以使用日期选择器的 onSelect 事件显示错误消息。这是您如何执行此操作的示例:

    $('#mydatefield').datepicker({
        multidate: true,
        beforeShowDay: function(date) {
            var string = $.datepicker.formatDate('yy-mm-dd', date);
            if ($.inArray(string, datesToDisable) != -1) {
                return [false, ""];
            }
            return [true, ""];
        },
        onSelect: function(dateText) {
            if ($.inArray(dateText, datesToDisable) != -1) {
                // Show an error message
                alert("Sorry, that date is not available. Please select another date.");
            }
        }
    });
    

    在此示例中,onSelect 事件处理程序检查所选日期是否在 datesToDisable 数组中。如果是,则向用户显示一条错误消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多