javascript - django:如何根据数据库中的条目禁用日期选择器中的日期?
问题描述
我在数据库中的这个下面的模型中定义了 n 个日期,这些是由管理员直接插入的,而不是由 modelforms 或任何东西。
class Calendar(models.Model):
date = models.DateField()
occasion = models.CharField(max_length = 20)
具有日期字段的表单,
class LeaveRequestForm(ModelForm):
class Meta:
fields = (... "from_date", "to_date" ...)
model = Leave
widgets = {
...
'from_date' : DateInput(attrs={'class': 'datepicker'}),
'to_date' : DateInput(attrs={'class': 'datepicker'}),
...
}
我有这个禁用周末的日期选择器脚本,
<script>
$(document).ready(function() {
$('.datepicker').datepicker(
{
minDate : 0,
beforeShowDay : $.datepicker.noWeekends
}
);
});
</script>
现在我也想禁用数据库中定义的日期+周末。我怎么做?
更新 :
var array = {{
{% for x in disabled_dates %}
{{x.dates}}
{% endfor %}
}}
$('datepicker').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return array.indexOf(string) != -1 ? [false] : $.datepicker.noWeekends(date);
}
});
还没有运气!
解决方案
var array = [
{% for x in disabled_dates %}
{{x.dates}}
{% endfor %}
]
$('datepicker').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return array.indexOf(string) != -1 ? [false] : $.datepicker.noWeekends(date);
}
});
编辑:在您的日期数组旁边添加周末。
编辑:为日期添加了 for 循环(虽然我认为你应该从你的视图函数中发送一个准备好的列表)
希望这可以帮助!
推荐阅读
- python - 如何重命名列中的值,提取其中的一部分?
- stripe-payments - 带有订阅和试用期的条纹支付元素
- radio-button - 将我的产品选择的下拉选择更改为单选按钮以在我的产品页面上选择产品
- python - 从 Python 数据框中的 JSON 中删除外部数组
- npm - 如何将 ui lib 包装在自己的 npm 包中?
- vue.js - 如何在 vuejs 中将反应数组对象值设置为 null?
- wordpress - 将 wordpress 主题迁移到 aws lightsail 时出错
- go - 指针 (GoLang)
- wordpress - 使用 wp-reset-editor-styles 的句柄取消注册管理员编辑器重置样式
- debugging - 如何在嵌入式 Forth 控制器中查找和更改变量?