【问题标题】:create mask for time input angularjs in controller在控制器中为时间输入 angularjs 创建掩码
【发布时间】:2018-07-27 15:36:41
【问题描述】:

我在 angularjs 控制器中有如下代码。

    $scope.detailConfig = [{
         title: $filter('translate')('bundle.app.HORA_MINUTO_INICIAL_DESCONSIDERAR'),
         property: 'faixaHorariaInicial',
         type: 'text'
     },{
         title: $filter('translate')('bundle.app.HORA_MINUTO_FINAL_DESCONSIDERAR'),
         property: 'faixaHorariaFinal',
         type: 'text'
     }];

从这段代码中,我渲染了这两个输入字段。我需要为这两个输入添加时间掩码,以便用户只能以这种格式输入时间:hh:mm。

你能告诉我我该怎么做吗?

【问题讨论】:

    标签: javascript angularjs mask angularjs-filter


    【解决方案1】:

    当您说您有输入但没有标签时,要知道您在处理什么有点困难。但是在 JavaScript 中,如果你有一个 Date 对象,那么你可以使用下面的函数来返回一个字符串:"hh:mm" 根据你的要求。

    var myDate = new Date();
    
    function getTime(d) {
        hours = d.getHours();
        minutes = d.getMinutes();
        //seconds = d.getSeconds();
        //return hours + ":" + minutes + ":" + seconds;
      return hours + ":" + minutes;
    };
    
    var myTime = getTime(myDate);
    // returns "10:59"
    

    否则,如果您确实有一个正在使用的 html Input,那么我建议您使用其中一种解决方案 here。这将限制输入以匹配您在控制器中 $filter 中输入的任何值。在你的情况下,你可以这样写:

    $scope.tToDisplay = $filter('date')($scope.timestamp, 'HH:mm');
    

    <input ng-model="tToDisplay"></input>
    

    【讨论】:

    • 我需要的是输入中的掩码。
    • 您能分享一下您用于输入的代码吗?
    • 系统出现特定问题。
    猜你喜欢
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2011-04-27
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多