You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过数据属性实现Bootstrap日期选择器仅启用每月1日和16日

解决方案

Bootstrap Datepicker的data-date-days-disabled属性是用来禁用星期几的,不是日期的几号,所以你之前的尝试无效。要实现仅允许每月1日和16日,需要使用data-date-date-disabled属性,通过自定义匹配规则来禁用其他日期。

直接在你的datetimepicker容器上添加以下数据属性:

data-date-date-disabled='[{"match": function(date) {
    var day = date.getDate();
    // 禁用不是1号和16号的日期
    return day !== 1 && day !== 16;
}, "disable": true}]'

结合你已有的禁用周末的配置,完整的HTML代码如下:

<div class="col-12 col-sm-3 col-md-3 col-lg-3">
<div class="input-group date datetimepicker revenueStartDate" 
     data-min-view="2" 
     data-date-format="mm-dd-yyyy"  
     data-date-days-of-week-disabled="[0,6]"
     data-date-date-disabled='[{"match": function(date) {
         var day = date.getDate();
         return day !== 1 && day !== 16;
     }, "disable": true}]'
     >
    <input class="form-control form-control-sm" size="16" type="text" id="fromDate" name="fromDate" value="#dateformat(now(),'mm-dd-yyyy')#">
    <div class="input-group-append"> 
        <button class="btn btn-primary"><i class="icon-th mdi mdi-calendar"></i></button>
    </div>
</div>
</div>

说明

  • data-date-date-disabled接受一个配置对象数组,每个对象的match是用来判断日期的函数,返回true时该日期会被禁用;disable设为true启用禁用规则。
  • 这个方案不需要修改通用的datetimepicker()初始化代码,完全通过数据属性实现,符合你的需求。

内容的提问来源于stack exchange,提问作者Kannan.P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:30:27