输入文本框的ng-repeat由$ index跟踪

时间:2016-09-14 05:51:03

标签: javascript angularjs

我正在编写一个div hoolds datepicker,2 timepicker和一个输入文本框的应用程序。我在div之外有一个复选框。每当我选中一个复选框时,将添加一个日期位置div。我的应用程序工作正常,除了我的输入框值。 ng-model没有保留文本框值

<div class="dateContainer"  ng-repeat="selecting in selects track by $index">
  <div class="datePicker">  
    <button bs-datepicker>
      --- some code
    </button>
  </div>
  <div class="timePicker">  
    <button bs-timePicker>
      --- some code
    </button>
  </div>
  <label class="configLocation" for="configLoc">Location</label>
  <input class = "form-control"type="text" ng-change ="DateArr($index)"  style="font-weight: normal;"name ="configLocation" class="configLocation"  ng-model = "selects[$index].configLoc" />
</div>

我保留了我的模型名称,选择[$ index] .configLoc,因为我试图根据每个索引值进行保存。

我的控制员 - 我正在初始化$ scope.selects,如下所示。

$scope.selects = [{commDate : null,commEtime: null,commStime: null,configLoc: ''}];

当我在更改事件上调用DateArr($ index)时,无法获取输入的值 $ scope.selects [0] .configLoc ??值始终显示&#39;&#39;为什么??

2 个答案:

答案 0 :(得分:1)

你必须在ng-repeat或ng-model中使用$ index ... 只是改变:

ng-repeat="selecting in selects"
  (or)
ng-model="selecting.configLoc"

答案 1 :(得分:0)

对于每个ng-repeat,使用重复项创建一个新范围,即选择。

ng-model = "selects[$index].configLoc"

变为

ng-model = "selecting.configLoc"