Установите флажок с несколькими моделями ng
У меня есть вариант дней для пользователя.
Мой ожидаемый результат будет, когда пользователь нажмет кнопку отправить
- если выбран понедельник и вторник, это должно быть
[1,2]
- если выбран будний день, он должен быть строкой
'weekdays'
У меня слишком много ограничений, потому что API сильно вложен, поэтому я предпочитаю жестко задавать значение дней. Но я не знаю, как действовать дальше. Единственный способ, которым я могу придумать, - это назначить ng-model для каждого входа и выполнить push, но я чувствую, что это неправильно.
http://plnkr.co/edit/NfTgmsuZlGh6QUVZj8HG?p=preview
Нужна помощь.
2 ответа
Вы можете попробовать таким же образом и в контроллере
$scope.items = [{"day":"monday","show":"1"},{"day":"tuesday","show":"2"},{"day":"weekdays","show":"weekdays"}];
в HTML
<select ng-model="selection" ng-options="item.show as item.day for item in items">
<option value="">Please select</option>
</select>
вывод: {{selection}}
Попробуйте так:
<div class="days-group" ng-repeat="timeType in timeTypes">
<input type="checkbox" id="Weekdays" value="weekdays" ng-model="timeType.isSelected" ng-checked="timeType.isSelected">
<label for="Weekdays">{{timeType.type}}</label>
</div>
А также controller
:
$scope.timeTypes = [
{ id: 1, type: "weekends", isSelected: false },
{ id: 2, type: "weekdays", isSelected: false }
];
То же самое и для дней.
Проверьте работу jsfiddle
ссылка на сайт:
https://jsfiddle.net/avnesh2/oho7qxv1/
Проверьте console
для требуемого формата.
Приветствия.