Вопрос:

переключатель угловых js по умолчанию отмечен

javascript angularjs radio-button radio-group

35 просмотра

1 ответ

183 Репутация автора

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

HTML-файл:

<input id="sampleA" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="true" data-ng-change="$ctrl.update()"></input>
<label for="sampleA">Sample A</label>
<input id="sampleB" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="false" data-ng-change="$ctrl.update()"></input>
<label for="sampleB">Sample B</label>

JS файл:

//Initialization:
vm.isSampleA = false;
//This function returns the correct boolean value returned by API
    vm.update = function() {
    vm.isSampleA = response.rows["0"].sampleA;
};

Вкратце поясню последовательность действий: по умолчанию проверка по умолчанию - опция «Образец B». Затем пользователь проверяет параметр «Образец A» и отправляет обновленное значение в REST API, где оно корректно обновляется. Далее, когда я хочу снова редактировать эту форму:

Ожидаемый: «Образец А» должен быть проверен

Фактически: ни один из 2 вариантов не отмечен , хотя значение 'isSampleA' равно true.

Автор: user3868051 Источник Размещён: 08.11.2017 10:10

Ответы (1)


1 плюс

12289 Репутация автора

Решение

Используйте ng-valueдирективу вместо простого valueатрибута:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<script>
  angular.module('app', [])
</script>

<div ng-app='app' ng-init='test=true'>
  <label>
    <input type="radio" ng-model="test" ng-value="true">
    One
  </label>
  <br/>
  <label>
    <input type="radio" ng-model="test" ng-value="false">
    Two
  </label>
  <br/>
  <button ng-click='test = !test'>Click</button>
</div>

Автор: Slava Utesinov Размещён: 09.11.2017 07:47
Вопросы из категории :
32x32