【问题标题】:switch case not getting control in angularjs?开关盒在angularjs中没有得到控制?
【发布时间】:2018-01-22 03:49:30
【问题描述】:

您好,我正在开发 angularjs 应用程序。我有一个包含月份值的下拉菜单。我有另一个带有日历的文本框。如果我从下拉列表中选择两个月,那么我想将 60 天添加到当前日期,并且我想限制用户选择接下来的 60 天。例如今天 14,所以如果我从 dropodwn 中选择 2 个月,那么用户可以在两个月后从日历中选择日期。

$scope.editCalender = function (period)
{
    //period 1,2,3,4,5,6
    var dayvalue;
    switch (period) {
        case '1':
            dayvalue ==30;
            break;
        case '2':
            dayvalue == 60;
            break;
        case '3':
            dayvalue = 90;
            break;
        case '4':
            dayvalue = 120;
            break;
        case '5':
            dayvalue = 150;
            break;
        case '6':
            dayvalue = 180;
            break;
        default:

    }

    var CurrentDate = new Date();
    CurrentDate.setMonth(CurrentDate.getDay() + dayvalue );
    console.log(CurrentDate.toLocaleDateString());
    $scope.maxdate = CurrentDate.toLocaleDateString();
}

这就是我使用date-min-limit="{{maxdate}}" 分配设定值的方式。在上面的代码中,如果我选择 2 个月,那么 dayvalue == 60; 但我变得不确定。我可以得到一些帮助来解决这个问题!任何帮助将不胜感激。谢谢你。

【问题讨论】:

  • 在 '1' 和 '2' 的情况下将 == 替换为 =
  • 控制台应该会报错。
  • 对不起,我正在使用双 == 进行测试。无论如何它都不起作用
  • 你的“句号”是字符串还是整数?
  • 诠释。它拥有 1,2,3,4,5,6

标签: javascript angularjs


【解决方案1】:

对于int值的情况应该是这样的:

switch (period) {
    case 1: 
        dayvalue =30;
        break;
    case 2:
        dayvalue = 60;
        break;
    case 3:
        dayvalue = 90;
        break;
    case 4:
        dayvalue = 120;
        break;
    case 5:
        dayvalue = 150;
        break;
    case 6:
        dayvalue = 180;
        break;
    default:

}

'' 应与字符串值一起使用

【讨论】:

  • 这工作正常。以前我有 CurrentDate.setMonth(CurrentDate.getDay() + dayvalue);$scope.maxdate = CurrentDate.toLocaleDateString();以月计。现在我如何使用天数来做到这一点?
  • 不确定你的意思,如果这是不同的场景,那么请添加单独的问题并解释你想要什么,或者你可以更新这个问题
猜你喜欢
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 2022-12-12
相关资源
最近更新 更多