Angularjs `ng blur`-未按照下拉框上的预期进行绘制
在angular应用程序中,对于搜索字段,我使用控制器的过滤函数。它工作得很好,但我无法用当前模型实现ng模糊 我不知道为什么这样不行,有人帮我吗 此外,我根据客户要求在两行中显示数据,请评估我的显示方法,如果有人知道更好的方法,请告诉我 使用模糊时,单击“未选择任何内容列表”:Angularjs `ng blur`-未按照下拉框上的预期进行绘制,angularjs,angular-filters,Angularjs,Angular Filters,在angular应用程序中,对于搜索字段,我使用控制器的过滤函数。它工作得很好,但我无法用当前模型实现ng模糊 我不知道为什么这样不行,有人帮我吗 此外,我根据客户要求在两行中显示数据,请评估我的显示方法,如果有人知道更好的方法,请告诉我 使用模糊时,单击“未选择任何内容列表”: <div class="child"> <input type="text" ng-model="search" ng-focus="isDropDown = true"
<div class="child">
<input type="text" ng-model="search"
ng-focus="isDropDown = true"
ng-blur="isDropDown = false" //nothing selected if blur exist
ng-keyup="village='';isDropDown = true"
>
删除您的手表,您可以使用过滤器和模糊防止点击事件,所以禁用点击 解决方案 var app=角度。模块'plunker',[]; app.controller'MainCtrl',函数$scope,$filter{ $scope.items=[{ id:1, 姓名:'约翰', 村庄:“kongambattu” }, { id:2, 姓名:'史蒂夫', 村庄:“Serivanthadu” }, { id:3, 名字:“乔伊”, 村庄:“moolapakkam” }, { id:4, 姓名:'玛丽', 村庄:“Sooramangalam” }, { id:5, 姓名:'马里林', 村庄:“Kariyamanikkam” }, { id:6, 名称:'Arif', 村庄:“madukarai” } ]; $scope.items2=$scope.items; $scope.isDropDown=false; $scope.select=functionitem{ $scope.isDropDown=false;//如何将其放入内联?html $scope.search=item.name; $scope.village=item.village; }; }; .家长{ 宽度:15em; 边框:1px纯色灰色; 位置:相对位置; } .父跨度{ 显示:块; 字体大小:0.75em; 填充:0.5em; } .家长输入{ 宽度:100%; 填充:0.5em; 保证金:0; 框大小:边框框; 边界:0; 大纲:无; } 桌子{ 边框:1px纯红; 宽度:100%; 位置:绝对位置; 顶部:3.1米; 边界塌陷:塌陷; } 表tr td{ 填充:0.5em; } 表tr:N奇数{ 背景:ccc; } 安古拉斯普朗克 文件。书写; {{村庄|大写}} {{item.id} {{item.name}
你需要改变你的状况 ng mouseleave=isDropDown=true 这是普朗克
wahts您的要求在我选择数据后,当我按下tab blur下拉菜单not Hiddes(不隐藏)时,您能检查您的结果吗?我的问题是,当鼠标模糊来自输入时,下拉菜单not Hidden(不隐藏)请检查我的演示移除模糊事件并放回plnkr中没有任何内容,请提供有效链接
<div class="parent" >
<div class="child">
<input type="text" ng-model="search"
ng-focus="isDropDown = true"
ng-keyup="village='';isDropDown = true"
>
<span>{{village | uppercase }}</span>
</div>
<table ng-show="isDropDown" ng-mouseleave="isDropDown = false">
<tbody>
<tr ng-repeat="item in items" ng-click="select(item);">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
</table>
</div>
$scope.items2 = $scope.items;
$scope.isDropDown = false;
$scope.$watch('search', function(val) {
$scope.items = $filter('filter')($scope.items2, val);
});
$scope.select = function(item) {
$scope.isDropDown=false; // how to put this in inline? ( html )
$scope.search = item.name;
$scope.village = item.village;
}