Я хочу отключить ввод, основанный на количестве элементов в нем (например, отключить в случае только одного элемента). Прямо сейчас я смотрю на директиву. Причина, по которой я пошел с директивой, заключается в том, что ng-options часто становятся довольно сложными, поэтому было бы неприятно копировать/вставлять их со сравнением с ng-disabled.Просмотр изменений в опциях выбора
Моя проблема в том, что я не могу прослушивать количество опций в select (или, по крайней мере, пока не удалось найти способ). То есть моя идея заключалась бы в том, чтобы сделать что-то подобное в функции ссылок. Основной выбор (саморазрушающийся быть моей директива):
<select name="field1" ng-model="data.field1" ng-options="i.value as i.text for i in values" auto-disable >
<option disabled value="" style="display: none;">placeholder</option>
</select>
и метод ссылки определяются как таковые:
link: function (scope, elem, attrs) {
scope.$watch(elem[0].length, function() {
elem.prop('disabled', elem[0].length <= 1);
});
}
Итак: Есть ли какой-нибудь способ, чтобы посмотреть элементы в избранном, или могут Я каким-то образом легко могу получить доступ к опции выбора select внутри ng-disabled?
PS: Я уже пробовал слушать «data.field1», но это не работает во всех случаях (например, если изменяются только другие значения, но выбранное значение не работает).
D вы хотите полностью отключить 'select'when есть только один элемент? –
yep и ng-options печально выбрасывают фильтры на мои входные данные, так что не повезло:/ – FrankyBoy