2016-06-30 4 views
0

У меня есть небольшая проблема с флажками:Ошибка угловых флажков

У меня есть массив объектов. Я делаю ng-repeat в этом массиве, и я устанавливаю флажки для каждого элемента.

<li ng-repeat="title in treeZone track by $index"> 

<input type="checkbox" ng-model="title.selected" ng-click="functionAdd($index, title.selected)"/> {{title}} 

</li> 

Моим проблемом является то, что я хотел бы получить все выбранные флажки с функцией.

Чтобы сделать это, я писал, что:

scope.funtionAdd = function() { 

      scope.tree_array = ""; 

      angular.forEach(scope.treeZones, function(title) { 

      if (title.selected) { 

       scope.tree_array = scope.tree_array + title.name + " "; 

      } 

      }); 

     } 

Эта функция работает хорошо, но это может вызвать эту ошибку: «Свойство„выбранного“не существует на типа" Zone»из-за«title.selected»

Зная, что объект моей зоны имеет 3 свойства: id, name, parent.

Как решить эту проблему, зная, что мой единственный способ узнать, выбрана ли зона, имеет «title.selected».

Спасибо за помощь :)

ответ

0

Keep одно уникальное свойство в treeZone и использовать его, чтобы установить идентификатор флажков

<li ng-repeat="title in treeZone track by $index"> 
<input id="{{title.TYPE}}" type="checkbox" ng-model="title.selected" ng-click="functionAdd($index, title.selected)"/> {{title}} 
</li> 

затем в JavaScript вы можете проверить, что выбраны все флажки:

scope.tree_array = []; 
     for (var i = 0; i < scope.treeZone .length; i++) { 
      document.getElementById(scope.treeZone[i].TYPE).checked = true; 
      scope.tree_arra.push({ "TYPE": scope.treeZone[i].name}); 
     } 
+0

Thx для вашего ответа! Я получил эту ошибку сейчас: «Свойство« checked »не существует в типе« HTMLElement ».» Может быть, потому, что я использую машинопись? – Olivier

+0

наверное. попробуйте это var element = document.getElementById (scope.treeZone [i] .TYPE); var isChecked = element.checked; – Nishi

+0

Еще раз спасибо :) Теперь у меня есть: «Свойство« ТИП »не существует в типе« Зона ». – Olivier

Смежные вопросы