编程语言
首页 > 编程语言> > javascript – angularjs ui-select-choices下拉aphabetical顺序取决于给定的输入

javascript – angularjs ui-select-choices下拉aphabetical顺序取决于给定的输入

作者:互联网

我正在使用https://github.com/angular-ui/ui-select用于我正在处理的网站.目前代码如下:

       <ui-select ng-model="model.states">
         <ui-select-match placeholder="State">
           {{$item.Name}}
         </ui-select-match>
         <ui-select-choices repeat="item.Code as item in statesArray | filter:$select.search">
            {{item.Name}}
         </ui-select-choices>
      </ui-select>

当我在输入字段中输入任何内容时,例如“a”,ui-select-choices显示包含“a”的所有字段(默认情况下).我想要做的是,我想显示所有以“a”开头的州.如果输入框中未输入任何内容,则按字母顺序显示所有字段.有人可以提出解决方案吗?我看过其他一些帖子,但还没有人回答这个问题.提前致谢.

这是一个例子,假设州阵列有加利福尼亚州,康涅狄格州,阿拉斯加州,亚利桑那州,纽约州等州.

如果输入字段中没有输入任何内容,则下拉列表应显示阿拉斯加州,亚利桑那州,加利福尼亚州,康涅狄格州,纽约州(可以使用orderBy过滤器实现).

如果用户在输入字段中键入“a”,则下拉列表应显示亚利桑那州,亚利桑那州,并且没有其他字段,因为阿拉斯加州和亚利桑那州只有以“a”开头的字段.
如果用户键入“c”,则下拉列表应显示康涅狄格州加利福尼亚州.
如果用户键入“ca”,则下拉列表应仅显示加利福尼亚,因为它仅匹配给定的输入字符串.

解决方法:

如果我理解正确,我认为你需要做的就是添加

| orderBy:’Name’

<ui-select-choices repeat="item.Code as item in statesArray | filter:$select.search | orderBy:'Name'">
{{item.Name}}
</ui-select-choices>

查看orderBy以获取更多信息

标签:jquery,javascript,angularjs,angular-ui,angular-ui-select
来源: https://codeday.me/bug/20190716/1475072.html