2015-06-26 1 views
2

Я пользуюсь переключателями, и я хочу знать, проверены они или нет в контроллере. Есть ли другой способ найти это в угловом, кроме (document.getElementById («radio_button») .checked)?Как узнать, проверена ли радиокнопка или нет в контроллере в angularjs

+0

Пожалуйста, ваши Флажок HTML код. –

+3

Используйте 'ng-model'. См. Https://docs.angularjs.org/api/ng/input/input%5Bradio%5D – Phil

+0

Примечание: флажок и радио разные. Убедитесь, что вы хотите использовать. – Icycool

ответ

0

Вы можете сделать это несколькими способами:

с радио кнопками

В вашем HTML

<input type="radio" ng-value="isButtonChecked">

В контроллере

$scope.isButtonChecked = true;

с другим элементом тега

В вашем HTML

<div ng-click="isButtonChecked = !isButtonChecked"></div>

В контроллере

$scope.isButtonChecked = true;

4

Вы можете вызвать функцию по щелчку, как это:

В HTML:

<div ng-click='newValue(value)'> 
       <input type="radio" ng-model="value" value="firstValue"> 
       <input type="radio" ng-model="value" value="secondValue" > </div> 

Вы также можете наблюдать изменение модели с помощью нг-изменения следующим образом:

В JavaScript:

 $scope.newValue = function (value) { 
        alert(value); 
       } 

Вы можете даже наблюдать за с помощью $ watch:

  $scope.$watch('value', function(value) { 
        alert(value); 
      }); 

Однако использование ng-change лучше и эффективнее, чем $ watch, и его легче тестировать.

2

Там нет необходимости $watch

Вы можете сделать это более простым способом.

<body ng-controller="testCtrl"> 

    <label>Check me to check both: 
    <input type="checkbox" ng-model="master" ng-checked="checkTest(master)"></label><br/> 

    </body> 

JS:

$scope.checkTest = function(boolChecked){ 

     console.log(boolChecked) 
    } 

Вот Plunker

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