我有以下元素:
<div class="input-group bootstrap-timepicker">
<input type="text"
class="form-control timepicker"
name="start-time"
ng-model="timeSegment[0]"/>
<span data-toggle="timepicker" class="input-group-addon add-on btn btn-default">
<i class="icon icon-time"></i>
</span>
</div>
它包含在ng-repeat中,多次重复此元素。上面的代码片段工作正常,并在加载时正确显示正确的模型值,但使用文本框输入时间而不是时间选择器。我的模型值&time;时间段[0]&#39;是一个格式为&#39; hh:mm a&#39;的字符串,例如&#39; 00:00 AM&#39;。
但是,只要我将bs-timepicker属性添加到上述元素(以便使用timepickers而不是textbox输入时间):
<div class="input-group bootstrap-timepicker">
<input type="text"
class="form-control timepicker"
name="start-time"
ng-model="timeSegment[0]"
bs-timepicker/>
<span data-toggle="timepicker" class="input-group-addon add-on btn btn-default">
<i class="icon icon-time"></i>
</span>
</div>
他们显示的是默认时间,而不是我模型中的值。它正确地拾取了我的模型,因为它正确地迭代了正确数量的元素并显示了它们的时间戳,而不是时间戳中的正确值。
虽然时间戳显示默认时间,但是当我更改其中一个时,我的模型中的值也会正确更新,这也很奇怪。
我认为可能是因为时间是我的模型是一个字符串,而不是日期,但即使添加此处描述的属性http://mgcrea.github.io/angular-strap/#/timepickers,如下所示也没有区别。我也试过让我的模型成为Date对象,但同样没有区别。
data-modelTimeFormat="hh:mm A"
data-timeType="string"
答案 0 :(得分:0)
我最终使用了不同的时间选择器,它按预期工作:
答案 1 :(得分:0)
即使您只使用时间选择器来选择时间,其值也必须是完整日期。将ng-model的值设为任意日期,并将其设置为您需要的时间,例如。
var myDateTime = new Date("01-Jan-1970 00:00:00");
ng-model = myDateTime;