Bootstrap-Datepicker 插件配置选项详解
Bootstrap-Datepicker 是一款基于 Bootstrap 框架的日期选择器插件,提供了丰富的配置选项来满足各种日期选择需求。本文将全面解析该插件的各项配置参数,帮助开发者更好地定制日期选择器功能。
日期输入格式支持
该插件支持多种日期输入格式:
- Date 对象:标准的 JavaScript Date 对象
- 格式化字符串:符合指定格式的日期字符串
- 相对时间表达式:如 "-1d"(昨天)、"+6m +1y"(6个月加1年后)等
- 支持单位:d(天)、w(周)、m(月)、y(年)
- 特殊别名:"yesterday"(等同于"-1d")、"today"("+0d")、"tomorrow"("+1d")
数据属性配置方式
大多数选项可以通过 data-* 属性配置,转换规则为:
- 将驼峰命名转换为短横线分隔
- 添加 "data-date-" 前缀
例如:
startDate→data-date-start-dateformat→data-date-formatdaysOfWeekDisabled→data-date-days-of-week-disabled
核心配置选项详解
自动关闭功能
autoclose
类型:Boolean
默认值:false
功能:选择日期后是否自动关闭日期选择器
智能年份解析
assumeNearbyYear
类型:Boolean 或 Integer
默认值:false
功能:处理两位数年份输入时的智能解析
- true:将"5/1/15"解析为2015年而非15年
- 数值(如20):指定多少年内的两位数年份使用当前世纪
日期显示定制
beforeShowDay
类型:Function(Date)
功能:定制日期单元格的显示和行为
返回值可以是:
- undefined:无效果
- Boolean:是否可选
- String:附加CSS类名
- Object:包含enabled、classes、tooltip、content等属性
类似函数还有:
- beforeShowMonth(月份)
- beforeShowYear(年份)
- beforeShowDecade(十年)
- beforeShowCentury(世纪)
界面显示选项
calendarWeeks
类型:Boolean
默认值:false
功能:是否显示周数(每年第几周)
clearBtn
类型:Boolean
默认值:false
功能:是否显示"清除"按钮
container
类型:String
默认值:"body"
功能:指定日期选择器弹出框的容器元素
日期限制选项
datesDisabled
类型:String 或 Array
默认值:[]
功能:禁用的具体日期
daysOfWeekDisabled
类型:String 或 Array
默认值:[]
功能:每周禁用的星期(0=周日到6=周六)
daysOfWeekHighlighted
类型:String 或 Array
默认值:[]
功能:每周高亮的星期
startDate/endDate
类型:Date 或 String
功能:设置可选日期范围
视图控制选项
defaultViewDate
类型:Date/String/Object
默认值:今天
功能:初始显示的日期视图
maxViewMode/minViewMode
类型:Number/String
功能:限制可选择的视图层级(日/月/年/十年/世纪)
startView
类型:Number/String
默认值:0("days")
功能:初始打开的视图层级
多日期选择功能
multidate
类型:Boolean/Number
默认值:false
功能:启用多日期选择
- true:不限数量
- 数值:限制选择数量
multidateSeparator
类型:String
默认值:","
功能:多日期间的分隔符
本地化选项
language
类型:String
默认值:"en"
功能:设置语言(支持IETF语言代码)
其他实用选项
format
类型:String/Object
默认值:"mm/dd/yyyy"
功能:日期显示格式
支持自定义toDisplay和toValue函数实现特殊转换逻辑
todayBtn
类型:Boolean/"linked"
默认值:false
功能:"今天"按钮设置
- true:仅跳转到今天
- "linked":跳转并选择
todayHighlight
类型:Boolean
默认值:false
功能:是否高亮今天日期
weekStart
类型:Integer
默认值:0(周日)
功能:设置每周起始日
最佳实践建议
-
对于生日选择场景,建议设置:
startView: 2, // 从年份视图开始 maxViewMode: 2, // 限制只能选择到年份 endDate: '0d' // 不能选择今天之后的日期 -
多语言支持时,确保引入对应的语言文件并正确设置language选项
-
日期范围选择时,建议配合startDate和endDate确保逻辑正确
-
移动端优化:
disableTouchKeyboard: true, // 禁用虚拟键盘 orientation: "bottom auto" // 优化弹出位置
通过合理配置这些选项,可以打造出符合各种业务场景需求的日期选择器组件。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0148- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111