【问题标题】:bootstrap-timepicker not displaying model values on loadbootstrap-timepicker 在加载时不显示模型值
【发布时间】:2017-06-07 11:58:21
【问题描述】:

我有以下元素:

<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 中。上面的代码 sn -p 完美运行,加载时正确显示正确的模型值,但使用文本框输入时间而不是时间选择器。我的模型值“timeSegment[0]”是格式为“hh:mm a”的字符串,例如“04:00 AM”。

但是,只要我将 bs-timepicker 属性添加到上述元素(以允许使用时间选择器而不是文本框输入时间):

<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"

【问题讨论】:

    标签: angular-ui-bootstrap bootstrap-datetimepicker angular-strap


    【解决方案1】:

    我最终使用了不同的时间选择器,它按预期工作:

    https://angular-ui.github.io/bootstrap/

    【讨论】:

      【解决方案2】:

      即使您只使用时间选择器来选择时间,它的值也必须是完整的日期。将您的 ng-model 的值设为任意日期并将其设置为您需要的时间,例如

      var myDateTime = new Date("01-Jan-1970 00:00:00");
      ng-model = myDateTime;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        • 2019-11-24
        • 1970-01-01
        • 2019-05-13
        • 1970-01-01
        • 2013-10-21
        相关资源
        最近更新 更多