diff --git a/src/bootstrap/match.tpl.html b/src/bootstrap/match.tpl.html
index 1dc23cd98..cf8bbc638 100644
--- a/src/bootstrap/match.tpl.html
+++ b/src/bootstrap/match.tpl.html
@@ -1,6 +1,5 @@
-
-
+ ng-show="$select.searchEnabled && $select.open"
+ ng-blur="$select.inputBlur()">
diff --git a/src/uiSelectController.js b/src/uiSelectController.js
index cbebb0017..66995a2e7 100644
--- a/src/uiSelectController.js
+++ b/src/uiSelectController.js
@@ -43,6 +43,8 @@ uis.controller('uiSelectCtrl',
ctrl.clickTriggeredSelect = false;
ctrl.$filter = $filter;
ctrl.$element = $element;
+ ctrl.customValidation = undefined;
+ ctrl.inputBlur = function () { if (ctrl.customValidation) $scope.$eval(ctrl.customValidation); };
// Use $injector to check for $animate and store a reference to it
ctrl.$animate = (function () {
diff --git a/src/uiSelectDirective.js b/src/uiSelectDirective.js
index cded3d463..67a52a54e 100644
--- a/src/uiSelectDirective.js
+++ b/src/uiSelectDirective.js
@@ -69,11 +69,17 @@ uis.directive('uiSelect',
if(attrs.tabindex){
attrs.$observe('tabindex', function(value) {
+ $select.tabindex = value;
$select.focusInput.attr('tabindex', value);
+ $select.searchInput.attr('tabindex', value);
element.removeAttr('tabindex');
});
}
+ attrs.$observe('validation', function () {
+ $select.customValidation = attrs.validation;
+ });
+
scope.$watch(function () { return scope.$eval(attrs.searchEnabled); }, function(newVal) {
$select.searchEnabled = newVal !== undefined ? newVal : uiSelectConfig.searchEnabled;
});