创建全面小时为单位选择列表 [英] Creating select list in full-hour increments

查看:106
本文介绍了创建全面小时为单位选择列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种方法来产生类似以下标记:

Is there a way to generate something like the following markup:

<select> 
    <option value="0000">00:00AM</option>
    <option value="0100">01:00AM</option>
    <option value="0200">02:00AM</option>
    <option value="0300">03:00AM</option>
    <!--rest of options omitted for brevity-->
</select>

...直至11:00 PM一路,

... all the way up to 11:00PM,

我使用的是棱角分明。

什么是做到这一点的最好方法是什么?

What is the best way to do this?

推荐答案

在某些控制器,你应该pre-生成这些值:

In some controller you should pre-generate these values:

$scope.hours = {};

//first 12 hours
$scope.hours['0000'] = '12:00AM';
for(var i = 1; i < 12; ++i) {
    var hour = i < 10 ? '0' + i : i;
    $scope.hours[hour + '00'] = hour + ':00AM';
}

//last 12 hours
$scope.hours['1200'] = '12:00PM';
for(var i = 1; i < 12; ++i) {
    var hour = i < 10 ? '0' + i : i;
    $scope.hours[i + 12 + '00'] = hour + ':00PM';
}

然后在你的模板:

And then in your template:

<select> 
    <option ng-repeat="(value, label) in hours | orderBy: value" value="{{ value }}">
        {{ label }}
    </option>
</select>

勾选此琴: http://jsfiddle.net/hspqfouq/1/

这篇关于创建全面小时为单位选择列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆