У меня есть входная форма для пола.
Когда readonly неверно, есть Radiobuttons, чтобы выбрать между: readly: false
Но когда Readonly True, это только показывает реальное значение, но я хочу, чтобы ярлык выбранного Radiobutton вместо этого будет отображаться. Как мне это сделать (в хорошем смысле)?
retonly: true
Это должно быть «Männlich», а не «M».

Вот мой код:

<div class="form-group {{selectedProfile.gender ? '' : 'has-error'}}">
    <label for="gender" class="col-sm-3 control-label">Geschlecht</label>
    <div id="gender" class="col-sm-9">
        <input type="text" ng-model="selectedProfile.gender" class="form-control"
               ng-if="readonly" ng-disabled="readonly"/>
        <label ng-if="!readonly">
            <input type="radio" ng-model="selectedProfile.gender" value="M">
            männlich
        </label>
        <label ng-if="!readonly">
            <input type="radio" ng-model="selectedProfile.gender" value="F">
            weiblich
        </label>
        <label ng-if="!readonly">
            <input type="radio" ng-model="selectedProfile.gender" value="U">
            keine Angabe
        </label>
    </div>
</div>
0
Cold_Class 7 Мар 2018 в 18:12

1 ответ

Лучший ответ

На основании комментария @Basel Issmail вы можете создать массив, содержащий гендерную метку и значения гендерных значений. Используйте ng-repeat, чтобы отобразить радиопередачу и в ng-change изменить метку.

 <label ng-if="!readonly" ng-repeat="gender in genderList">
   <input type="radio" ng-model="selectedProfile.gender" value="{{gender.value}}" 
          ng-change="selectedProfile.genderLabel = gender.label">
        {{gender.label}}
  </label>

Ссылка на JS Fiddle

1
Gowthaman 8 Мар 2018 в 19:51