Jquery ng-repeat 中的时间选择器不工作

Jquery Time Picker inside ng-repeat is not working

因为我正在进行我的项目。在某些地方,我需要重复几个包含两次 html5 字段的输入字段。当我在 Chrome 中测试时一切顺利,但当我在 firefox 中测试时它显示为文本字段。 (Firefox 不支持时间和日期 html5 字段)。所以我开始寻找一些插件,但没有一个能满足我的要求。

So I have already wasted lot of time so I am explaining my requirements very clearly.

HTML 代码。

<div class="row" ng-repeat="timingindex in timingsArray">
    <div class="col-md-3">
      <select class="form-control" ng-model="timings[$index].group">
        <option value="Pre-Priary">Pre-Priary</option>
        <option  value="Primary">Primary</option>
        <option  value="Middle">Middle</option>
        <option  value="Senior">Senior</option>
      </select> 
    </div>
    <div class="col-md-2">
      <select class="form-control" ng-model="timings[$index].season">
        <option value="summer">Summer</option>
        <option value="winter">winter</option>
      </select> 
    </div>
    <div class="col-md-3">
      Starts: <input type="time" ng-model="timings[$index].starttime"> 
    </div>
    <div class="col-md-3">   

      Finish : <input type="time" ng-model="timings[$index].endtime">

    </div>
    <div class="col-md-1">
      <button ng-click="addNewTimings(timings[$index])">Save and Add More</button>
    </div>
    <div class="col-md-1">
      <button ng-show="$last" ng-click="removeTimigns($index)">Remove</button>
    </div>
  </div>

现在我想使用这个 jquery UI Plugin 这对我来说没问题,因为我使用 jquery UI 的默认日期选择器代替我的 html5 默认时间场.

How i am trying to workaround using this plugin with my angular project is. ?

欢迎任何帮助。提前致谢。如果您需要更多说明,请在下方评论。我不确定我到底应该在这里写什么。

那是因为在元素内容呈现在 html

上之前,您是 运行 jQuery 代码到元素上的 timepicker

最好将 jQuery 插件代码包装在指令中,并将绑定 timepicker 写入指令 link 函数中的该元素。从指令中绑定 jQuery 插件被认为是最佳实践。

标记

<input type="time" timepicker ng-model="timings[$index].starttime"> 

指令

app.directive('timepicker', function(){
    return {
        restrict: 'A',
        link: function(scope, element, attrs){
            //binding timepicker from here would be ensure that
            //element would be available only here.
            element.timepicker(); //your code would be here.
        }
    }
});

就像

中那样