2016-02-17 4 views
0

Я пытаюсь установить флажок и сохранить его результат в массиве. когда флажки выбраны по умолчанию, не получая его значения, но после переключения, если, если выбран конкретный флажок, его работает правильно. Пожалуйста, скажите мне, что я делаю неправильно и спасибо заранее. вот мой HTML код:Не получать значение выбранного по умолчанию флажка

<div ng-repeat="album in albums" ng-disabled="checked"> 
     <input type="checkbox" ng-model="album.selected" value={{album.value}} ng-checked = "true"/> {{album.name}} 
</div> 

<button ng-click = "setAlbums()" type = "submit" class = "col-sm-3 btn btn-primary" style = "margin-left:3%;"> Save </button> 

вот мой код JS:

$scope.albums = [{ 
       value: 3, 
       name: 'a' 
      }, 
      { 
       value: 4, 
       name: 'b' 
      }, 
      { 
       value: 5, 
       name: 'c' 
      }, 
      { 
       value: 6, 
       name: 'd' 
      }, 
      { 
       value: 7, 
       name: 'd' 
      }, 
      { 
       value: 8, 
       name: 'e' 
      }, 
      { 
       value: 9, 
       name: 'f' 
      }]; 

      $scope.setAlbums = function() { 

         $scope.albumNameArray = []; 

         angular.forEach($scope.albums, function(album){ 
          if (album.selected) $scope.albumNameArray.push(album.value); 


         }); 
         console.log("$scope.albumNameArray",$scope.albumNameArray) 
        } 

ответ

0

Первоначально в то время как ng-repeat оказывает массив будет искать значения album.selected в самом массиве, так что если его не в состоянии найдите его, он будет фактически проверен в соответствии с вашим атрибутом ng-checked = true, но он не будет установлен в ng-model, поэтому

попробуйте сделать это, используя другое свойство под названием ng-init = "album.selected = true" in,

<input type="checkbox" ng-model="album.selected" value="{{album.value}}" ng-checked="true" ng-init="album.selected = true"/> 

затем попробуйте нажать кнопку «Сохранить».

PLUNKER WITH YOUR CODE

+0

спасибо @ Alhuck А, но можно сказать, у, как я могу использовать album.selected массив intialise нг-модели – avi

+0

Чувак, это то, что я описал в 'нг-INIT =«album.selected = истина»' , повторите попытку ответа –

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