【问题标题】:Angular Material Datepicker - select monday by default when other days of the week is chosenAngular Material Datepicker - 选择一周中的其他日子时默认选择星期一
【发布时间】:2016-08-10 08:48:03
【问题描述】:

我是 Angularjs 的新手。我想知道 Angular Material Date Picker(md-datepicker) 是否有任何过滤机制,这样我只能在选择一周中的其他日子时选择星期一,前提是所有日子都已启用。例如,当我点击 14-04-2016(Thursday) 时,应自动选择该周的 (11-04-2016)monday。

如果需要任何其他详细信息,请告诉我。非常感谢任何帮助。提前致谢。

【问题讨论】:

    标签: jquery angularjs datepicker


    【解决方案1】:

    您可以为您的日期选择器编写一个过滤器:

     <md-datepicker ng-model="myDate" md-date-filter="onlyMondays"></md-datepicker>
    
     $scope.onlyMondays = function(date) {
        var day = date.getDay();
        return day === 1;
     }
    

    或者,如果您想让所有日期都可选择,您可以在后台将日期更改为星期一:

    <md-datepicker ng-model="selectedDate"></md-datepicker>
    

    您可以将日期设置为之后的最后一个星期一:

    var daysToSubstract = $scope.selectedDate.getDay() - 1; 
    $scope.myDate.setDate($scope.selectedDate.getDate() - daysToSubstract);
    

    【讨论】:

    • 感谢@kabaehr 对我的问题的贡献。我已根据我的要求添加了上述代码。 $scope.onlyMondayToSelectStartDate = function (date) { var daysToSubstract = 6; if ($scope.filtersDat.selectedStartdate.Datecontent[0].getDay() != 0) daysToSubstract = $scope.filtersDat.selectedStartdate.Datecontent[0].getDay() -1; $scope.filtersDat.selectedStartdate.Datecontent[0].setDate($scope.filtersDat.selectedStartdate.Datecontent[0].getDate() -daysToSubstract); return false; }
    • 你怎么能选择一整周而不考虑选择的日期。即使您选择星期二,星期一到星期日也是输出。
    猜你喜欢
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    相关资源
    最近更新 更多