javascript - 在 jQuery UI date-picker-month 中禁用未来日期,不会禁用未来年份
问题描述
首先,我放弃了以下类似的问题:
在 jQuery UI Datepicker 中禁用未来日期
在 Jquery Ui Datepicker 中禁用今天之后的未来日期
我有以下日期选择器月份(我正在使用:jQuery UI Datepicker 1.11.4。):
<div class="col-xs-6">
<div class='input-group date' >
<input
type="text"
class="form-control date-picker-month disabled"
id="datePickerMonth"
value="{{ mes_actual|date:"m/Y" }}"
autocomplete="off"
>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
所以它看起来像这样:
我只想禁用未来年份的选择。如果我maxDate
像这样添加属性(这是许多类似问题中的建议答案):
$(function() {
$("#datePickerMonth").datepicker({
maxDate: new Date() // the same with maxDate: 0
});
});
然后我可以选择:
- 年份:未来年份(我想禁用未来年份)
- 月份:所选年份的月份
- 天数:它显示直到当前日期的天数,但是,如果我选择其中一个天,则即使我之前选择了未来的一年,选定的天也会变成一年
我试过这个:
$(function() {
$("#descuentos_hasta").datepicker({
beforeShowDay: function (){
return [false, ''],
},
});
});
但是我得到的结果和我没有使用它一样:我仍然可以选择未来的年份和月份。
我希望实现这样的目标:
灰色圆圈中的年份被禁用,未来几个月也是如此,
这个答案很接近,但我得到的行为与我描述的与日期相关的行为相同,而我的日期选择器仅适用于年月。
请,任何帮助将不胜感激。
更新:已解决
对不起,我试图减少所有不必要的东西,我终于找到了该 maxDate: new Date()
行工作的 js 文件。我为其他人添加了下面的代码段。
<!DOCTYPE html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link media="all"
href="https://cdn.jsdelivr.net/npm/eonasdan-bootstrap-datetimepicker@4.17.49/build/css/bootstrap-datetimepicker.css"
rel="stylesheet">
</head>
<body>
<div class="col-xs-3">
<div class='input-group date' >
<input type="text" class="form-control date-picker-month disabled" name="datePickerMonth" id="datePickerMonth" }}" autocomplete="off">
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment-with-locales.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/eonasdan-bootstrap-datetimepicker@4.17.49/src/js/bootstrap-datetimepicker.min.js"></script>
</body>
<script type="text/javascript">
if ( $('.date-picker-month')[0]){
$('.date-picker-month').datetimepicker({
//format: 'YYYY-MM-DD'
viewMode: 'years',
format: 'MM/YYYY',
widgetPositioning: { horizontal: 'auto', vertical: 'auto'},
maxDate: new Date()
});
}
</script>
</html>
解决方案
推荐阅读
- java - Java十六进制字节数组转换为整数而不先转换为字符串
- android - updateChildren 不更新图像数组,它覆盖现有数组(url)数据 firebase android
- apache-spark - 将火花数据帧并行保存到多个目标
- reactjs - 将 ToggleClass 事件附加到 ReactJS 中的未来元素
- javascript - 作用域 + d3.js v5 json 读取
- jasmine - 使用 Nuxt 和 Jest 进行集成测试
- java - 为什么 Eclipse 中的动态 Web 项目指示意外错误
- redux - 在 Redux 中嵌套常量是个好主意吗?
- mongodb - MongoDB v3.4.5 错误?
- r - Color in R plot