ng-repeat内部的多重选择不起作用

时间:2018-10-08 07:42:50

标签: javascript angularjs multi-select

有一个带有可编辑单元格的表,可以在其中将价格和税款添加到项目并最终保存。我使用的是用于税收选择的多选下拉菜单,对于一个项目来说可以是多个选择。

<tbody>
   <tr role="row" ng-repeat="c in productData track by $index">
   <td><input type="checkbox" ng-model="c.addToLocation" ng-click="toggleSelection(c);" name="group"></td>
   <td class="center">{{$index+1}}</td>
   <td>
     <img width="40" height="40" data-ng-src="{{c.imageUrl}}" alt="" ng-if="c.imageUrl.length>1">
   </td>
   <td>
      <h5>{{c.productName}}</h5>
   </td>
   <td>
      <input class="form-control" ng-show="editCell==true && $index==editIndex && c.addToLocation==true" type="number" ng-model="c.price">
      <h5 ng-show="editCell==false || $index!=editIndex || c.addToLocation==false">{{c.price}}</h5>
   </td>
   <td>
       <multiselect header="{{multiHeader.itemTaxHeader}}" multiple="true" ng-show="editCell==true && $index==editIndex && c.addToLocation==true" ng-model="c.taxList" options="tax.name + ' (' + tax.percentage + '%)' for tax in taxList" ng-change="taxSelected(c)"></multiselect>
      <div ng-show="editCell==false || $index!=editIndex || c.addToLocation==false"><h5 ng-repeat="d in c.taxList">{{d.name}},</h5></div>
   </td>
   <td>
      <button title="Add Item" ng-show="c.addToLocation" ng-click="makeEditable($index,c)" class="btn btn-round btn-info">
      <i class="glyph-icon icon-edit"></i>
      </button>
   </td>

现在,当我在多重选择中选择税项时,它可以正常工作,并且我在控制器中执行以下操作以获取计数并显示

$scope.$watch('selItemTaxes', function () {
    if ($scope.selItemTaxes.length > 0)
        $scope.multiHeader.itemTaxHeader = $scope.selItemTaxes.length + ' Taxes Selected';
    else
        $scope.multiHeader.itemTaxHeader = 'Nothing Selected';
});

当我在控制台中调试时,一切都很好,但是在标记中,它不显示所选税项的更新计数,而是先前的更改。已使用超时,但仍未显示。谁能建议我要去哪里错了?

0 个答案:

没有答案