Установите значение модели группы радиосвязи внутри обработчика ngChange - PullRequest
0 голосов
/ 05 июля 2018

У меня есть простая форма с 3 переключателями с одинаковыми name="myNumber" и методом для обработки ng-change события

<form name="myForm" ng-controller="ExampleController">
  <label>
    <input type="radio" ng-model="number" name="myNumber" value="1" ng-change="handleChange()" /> 1
  </label>
  <label>
    <input type="radio" ng-model="number" name="myNumber" value="2" ng-change="handleChange()" /> 2
  </label>
  <label>
    <input type="radio" ng-model="number" name="myNumber" value="3" ng-change="handleChange()" /> 3
  </label>
</form>

В обработчике изменений я просто устанавливаю значение $ scope.model в «3»

angular.module('radioExample', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.number = "1"; // initial value

    $scope.handleChange = function() {
        $scope.number = "3"; // what I want to do
    };
  }]);

Затем я пытаюсь нажимать на переключатели, чтобы вызвать событие $scope.handleChange, чтобы увидеть, работает ли оно, но после 2-го щелчка вперед результат будет следующим:

  • Ожидается : переключатель № 3 продолжает проверяться.

  • Фактический : все переключатели вообще не отмечены.

Редактировать 1: пример обновления скрипки

Я добавил это <div> в виде простого журнала на экран, результат $scope.number всегда = "3", что ожидается. Что не так, это проверенное состояние переключателей

<div>
$scope.number = {{number}}
</div>

Скриптовая ссылка: http://jsfiddle.net/ujem8ndx/2/

1 Ответ

0 голосов
/ 16 июля 2018

Я не знаю причину, но когда я удаляю атрибут name из входных данных, проблема решается.

Я отправил это как ответ, потому что это решило мою проблему, но на вопрос why не ответили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...