在angular js中使用ui-select进行文本框下拉

时间:2018-11-04 04:48:58

标签: angularjs

我正在使用angularJS中的文本框查找下拉列表。目前,我正在使用标签。我也有过滤条件。不确定如何保存用户键入的值。

      <span>
            <ui-select
            ng-model="ele.test"
            theme="selectize"
            class="form-select-control select-dropdown-fixed-position"
            style="width:16em;text-align:left"
            name="test"
            ng-change="someEvent(ele)"
            ng-model-options="{ updateOn : 'default blur' }">
                <ui-select-match
                    placeholder="Test">{{$select.selected}}</ui-select-match>
                    <ui-select-choices
                            repeat="test in testList| filter: $select.search">
                        <span ng-bind-html="test | highlight: $select.search"></span>
                    </ui-select-choices>
            </ui-select>
        </span>

如果用户输入下拉列表中列出的值以外的任何其他值,则必须保存。我已经尝试过使用标签,但是没有用。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用保存输入文本值的 $scope.ele.test 值进行保存。

var myVal = $scope.ele.test;

答案 1 :(得分:0)

我一直在寻找允许用户在下拉列表中输入的内容,如果用户输入的值不在列表中,则将其保存。我在这里找到了以下解决方案。Allow manually entered text in ui-select

   <ui-select ng-model="superhero.selected">
   <ui-select-match placeholder="Select or search a superhero ..."> 
       {{$select.selected}}</ui-select-match>
   <ui-select-choices repeat="hero in getSuperheroes($select.search) 
         |filter: $select.search">
       <div ng-bind="hero"></div>
   </ui-select-choices>
   </ui-select>

在控制器中

   $scope.getSuperheroes = function(search) {
    var newSupes = $scope.superheroes.slice();
    if (search && newSupes.indexOf(search) === -1) {
    newSupes.unshift(search);
   }
   return newSupes;
   }