2016-10-03 3 views
1

Есть ли способ игнорировать случай между ng-model и select item?UI-Select case Insensitive

Эта проблема у меня есть log.username было поле ввода вместо выпадающего списка, так что старое имя пользователя имеет все разные случаи.

Пример:

log.username = "doej";

lookupOptions.users = [{имя пользователя: "DoeJ", FULLNAME: "Джо Doe"}, { имя пользователя: "SmithM", FULLNAME: "MarySmith"}]

При загрузке выберите пуст вместо имеющий "DoeJ"

<div class="form-group col-md-4"> 
     <label>Stored By</label> 
     <ui-select ng-model="log.username" theme="bootstrap"> 
      <ui-select-match placeholder="Select Site">{{$select.selected.username}}</ui-select-match> 
      <ui-select-choices repeat="option.username as option in lookupOptions.users | orderBy: 'username' | propsFilter: {'username': $select.search}"> 
       <div ng-bind-html="option.username | highlight: $select.search"></div> 
       <small ng-bind-html="option.fullName | highlight: $select.search"></small> 
      </ui-select-choices> 
     </ui-select> 
    </div> 
+0

с нг-повторе = "вариант в качестве опции в lookupOptions.users", это работает? – Wandrille

+0

К сожалению, ng-model ищет точное строковое значение. Таким образом, select будет пустым до и после этого 'log.username = 'DoeJ'' – gilango

ответ

0

Это то, что я сделал:

контроллер:

log.username = log.username ? log.username.toLowerCase() : ""; 

Вид:

<div class="form-group col-md-4"> 
     <label>Stored By</label> 
     <ui-select ng-model="log.username" theme="bootstrap"> 
      <ui-select-match placeholder="Select Site">{{$select.selected.username}}</ui-select-match> 
      <ui-select-choices repeat="option.username.toLowerCase() as option in lookupOptions.users | orderBy: 'username' | propsFilter: {'username': $select.search}"> 
       <div ng-bind-html="option.username | highlight: $select.search"></div> 
       <small ng-bind-html="option.fullName | highlight: $select.search"></small> 
      </ui-select-choices> 
     </ui-select> 
    </div>