Angular ui timepicker弹出没有显示出来

时间:2015-10-25 16:53:15

标签: angularjs angular-ui angular-ui-bootstrap timepicker angular-ui-bootstrap-tab

以下代码未显示弹出时间选择器。知道怎么解决吗?

代码:



<ul class="dropdown-menu custom-scroll dropDownLabel custom-width" role="menu" aria-labelledby="btn-append-to-body"
                    ng-show="!sr.timedisplay"	
                >
                    <li role="menuitem">
                        <a href="" ng-click="$event.stopPropagation()">Start Time
                           
							<p class="input-group">
								<input type="text" class="form-control" timepicker-popup ng-model="sr.startTime" is-open="opened" timepicker-options="timeOptions" ng-required="true"/>
									<span class="input-group-btn">
										<button class="btn btn-default" ng-click="sr.getTime('startTime')"><i class="glyphicon glyphicon-time"></i></button>
									</span>
								</p>
                        </a>
                    </li></ul>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:6)

没有timepicker-popup,至少在官方documentation中没有 - 问题被标记为

但您可以使用timepickerdropdown

自行创建一个
<span uib-dropdown auto-close="outsideClick">
  <a href uib-dropdown-toggle>
    {{ displayTime }}
  </a>
  <ul class="uib-dropdown-menu">
     <li>
        <uib-timepicker ng-model="mytime" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></uib-timepicker>
     </li>
  </ul>
</span>
除了用于下拉列表的displayTime之外,该脚本与timepicker docs基本相同:

$scope.$watch('mytime', function(newValue, oldValue) {
    var hour = $scope.mytime.getHours()-($scope.mytime.getHours() >= 12 ? 12 : 0),
        hour = hour<10 ? '0'+hour : hour,
        minutes = ($scope.mytime.getMinutes()<10 ? '0' :'') + $scope.mytime.getMinutes(), 
        period = $scope.mytime.getHours() >= 12 ? 'PM' : 'AM';
    $scope.displayTime = hour+':'+minutes+' '+period
  })

plnkr - &gt; http://plnkr.co/edit/J4alKogyKuevSGdTkLFQ?p=preview

NB :plnkr为0.14.3。如果您在0.14.0之前使用Angular UI Bootstrap,那么当然会跳过uib-前缀,它会起作用。

带有字形的

按钮样式:

<span class="btn btn-default" uib-dropdown auto-close="outsideClick" >
  <a href uib-dropdown-toggle>
    {{ displayTime }} <i class="glyphicon glyphicon-time"></i>
  </a>  
  <ul class="uib-dropdown-menu">
     <li>
        <uib-timepicker ng-model="mytime" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></uib-timepicker>
     </li>
  </ul>
</span>

<强> http://plnkr.co/edit/fyC6TfDsrJqsuGCqm11t?p=preview

答案 1 :(得分:5)

这曾经有用:

<uib-timepicker></uib-timepicker>

现在你需要这样做:

<div uib-timepicker></div>

答案 2 :(得分:0)

基于David的示例/输入,这里是一个带有html输入组件的示例,但没有控制器。我对Firefox和Chrome进行了测试,效果很好。顺便说一句,我使用的是bootstrap v3.3.6和Angular UI bootstrap v1.3.2。

<div class="row">
    <div class="col-md-2" style="text-align: right">
        <label>Time Picker Popup</label>
    </div>
    <div class="col-md-2">
        <div class="input-group">
            <input type="text" class="form-control">
            <div class="input-group-btn" uib-dropdown auto-close="outsideClick">
                <button type="button" class="btn btn-default dropdown-toggle" uib-dropdown-toggle><i class="glyphicon glyphicon-time"></i></button>
                <ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu>
                    <li><uib-timepicker ng-model="mytime" hour-step="1" minute-step="15" show-meridian="false"></uib-timepicker>
                </ul>
            </div>
        </div>
    </div>
</div>