Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

.filter('oiSelectCloseIcon', ['$sce', function($sce) {
return function(label) {
var closeIcon = '<span class="close select-search-list-item_selection-remove">×</span>';
return $sce.trustAsHtml(label + closeIcon);
};
}])
selectFilter можно переопределить на свой фильтр и делать там что угодноsearchFilter, для вариантов в списке — dropdownFilter. Поиск осуществляется только по одному полю, указанному в oi-options (что полностью соответствуют ng-options), но можно самому формировать поисковую выдачу:listFilter в который передается поисковая строка и список в которой так же можно как угодно этот список фильтровать tamtakoe.github.io/oi.select/#/select/#customizationlistFilter, чтобы туда передавать параметры для поиска по другим полям.watch и выполнять нужные действия. Так код будет максимально независим от элемента селекта.
cleanModel, но она проверяется один раз при компиляции, так что oi-select-options="{cleanModel:isRequired(vehicleType)}" выполнится только для исходного состояния формы. Смена vehicleType не приведёт к вычислению нового значения cleanModel и не разрешит очищать поле.elementOptions динамически и навесить этот разбор на нужные $watch (в нашем случае, смена источника данных)? Перекомпилировать всю директиву ради этого выглядит большим оверхедом.
Мультиселект и автокомплит на AngularJS