角ng-repeat输入过滤器加倍搜索中的第一个字符
Angular ng-repeat input filter doubling first character in search
我的页面上有一个输入元素来过滤结果集。当我开始在文本框中输入时,它总是将输入的第一个字符加倍。
这是html:
<input ng-model="query" type=search results=5 name=s placeholder="{{translation._SEARCH_}}..." style="text-align: left" />
<div ng-repeat="eu in EligibleUsers | orderBy: Username | filter: query">
<a style="border: 1px solid green; border-radius: 5px; background-color: light-gray; width: 100%; margin: 5px; height: 100px;" ng-click="Impersonate(eu.Username)">
<span>{{eu.Username}}</span>
</a>
</div>
这里是控制器变量:
$scope.query = "";
这里是EligibleUsers:
var successGetImpersonateUsers = function (data) {
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
var impersonateUser = data[i];
$scope.EligibleUsers.push(impersonateUser);
}
}
};
所以,如果我在搜索框中输入"a",它会显示"aa"。如果我试着快速键入"ab",它会显示"aab"。
编辑:我删除了$scope。从我的控制器查询,我仍然得到相同的行为编辑:当它绑定到我的范围"query"变量时,它只复制第一个字符。一旦我删除了ng-model="query",那么重复就不会再发生了…
编辑:当输入一个字符,如"a",并让它双击,如"aa",然后按删除键一次,它实际上删除了两个a。
注意:请忽略我的缺乏/可怕的样式…
我发现只有在Mac上的iOS模拟器上才会发生这种情况。很明显,(我认为)这是模拟器的一个bug, Angular没有任何问题。谷歌又赢了!
相关文章:
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 如何使用正则表达式限制字符串的第一个字符
- 按第一个字符进行数组搜索
- 如果第一个字符为零,则使用Javascript修剪第一个字符
- 如何替换除第一个字符外的多个字符
- Javascript 和正则表达式:删除除第一个字符之外的 evryting,如果是一个数字
- 第一个字符为空,在按键时使用 Ember 操作
- 正则表达式 - 仅第一个字符检查非字母字符
- 获取从第一个字符到下一个空格的字符串的一部分
- 从所有单词中替换,即使用破折号分隔,第一个字符用大写[更简单的方法]
- 为什么选择只显示IE 9中选项文本的第一个字符
- 如何使用javascript从包含数值的字符串中获取第一个字符的索引
- 从 jquery/javascript 中字符串的第一个字符过滤表数据
- JavaScript substr 与从第一个字符开始时的子字符串
- 第一个字符的正则表达式在 JavaScript 中不能是空格
- 如何检测第一个字符是否为回车符,并添加回车符
- Jquery 自动完成从第一个字符开始
- 替换标签内的第一个字符
- 从段落元素中切片第一个字符,替换内容并添加类