Как использовать ng-if с переключателями?

0

Это должен быть простой вопрос.

У меня возникли проблемы с использованием ng-if с переключателями. Это мои кнопки:

<label class="radio-inline">
    <input type="radio" id="day_month" ng-model="day_month" name="inlineRadioOptions" value="option1"> day of the
    month
</label>
<label class="radio-inline">
    <input type="radio" id="day_week" ng-model="day_month" name="inlineRadioOptions" value="option2"> day of the
    week
</label>

Как я могу использовать ng-if чтобы показать что-то, если выбран первый переключатель?

Теги:

3 ответа

2

day_month модель day_month будет обновляться после выбора со value ввода. Проверка значения, равного значению, даст вам возможность проверить, был ли выбран вход. См. Пример ниже.

<label class="radio-inline">
    <input type="radio" id="day_month" ng-model="day_month" name="inlineRadioOptions" value="option1"> day of the
    month
</label>
<label class="radio-inline" ng-show="day_month == 'option1'">
    <input type="radio" id="day_week" ng-model="day_month" name="inlineRadioOptions" value="option2"> day of the
    week
</label>
  • 0
    Это с двумя равными или тремя? Т.е. == или === ? В любом случае, это не работает. Я делаю что-то неправильно?
  • 0
    Используйте ng-show вместо ng-if . Смотрите jsfiddle.net/nyrzdjdg/1
Показать ещё 2 комментария
1

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

<body ng-app="app">
<div ng-controller="PageController">
<label>
    <input type="radio"  ng-model="color.name" value="Red"> Red
</label>
<label>
    <input type="radio"  ng-model="color.name" value="Green"> Green
</label><br>
<div ng-if="color.name==='Red'?true:false">
Hidden Message
</div> 
</body>

Контроллер Angualr:

var app =angular.module("app",[]);
app.controller("PageController",function($scope){
$scope.color={name:'Green'};

});

Рабочий пример https://jsfiddle.net/mshyam83/q8vbbd8q/5/

1

Ваша модель будет обновлена любым значением в атрибуте [value], поэтому вы можете проверить данные, хранящиеся в любой переменной, указанной в ng-model:

<div ng-if="day_month === 'option1'">...example...</div>
  • 1
    Это то, что я должен был сделать, но это не работает для меня, я не знаю почему. Это работает для вас?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню