簡體   English   中英

django:如何基於db表中的條目禁用datepicker中的日期?

[英]django : How to disable dates in datepicker, based on the entries form db?

我在數據庫的此以下模型中定義了n個日期,這些日期是由admin直接插入的,而不是由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);
    }
});

編輯:在您的日期數組旁邊添加了周末。

編輯:為日期添加了循環(盡管我認為您應該已經從視圖函數發送了就緒列表)

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM