javascript - 如何在按钮单击时从 ng-repeat 的特定列中过滤网格视图数据
问题描述
JS 文件:
$scope.GridFilter = function ()
{
var ddlCategory = $('#ddlValue').val();
$scope.search = ddlCategory;
}
中文:
<select id="ddlValue" name="ddlValue">
<option value="">-- Select any Value--</option>
<option ng-repeat="item in DataObject" value="{{item.Category}}">{{item.Category}}</option>
</select>
<button ng-click="GridFilter()">Filter Grid</button>
网格:
<tr ng-repeat="item in DataGrid | filter:search">
<td>{{item.Name}}</td>
<td>{{item.Category}}</td>
<td>{{item.Description}}</td>
<td>{{item.Status}}</td>
</tr>
单击按钮时,我想从下拉值中过滤数据。它只需要可搜索类别列,但它会搜索所有其他字段,以便网格显示额外的记录。
解决方案
您不需要 JQuery 选择器从下拉列表中获取选定的值。为此添加ng-model
选择元素。通过这种方式,表格将在不需要按钮的情况下过滤下拉选择:
<select name="Select" id="multipleSelect" ng-model="search">
<option value="">-- Select any Value--</option>
<option ng-repeat="item in DataObject" value="{{item.Category}}">{{item.Category}}
</option>
</select>
检查工作演示:DEMO
如果要使用按钮进行过滤操作,请为过滤后的数组使用新变量并在过滤器函数中设置它:
$scope.GridFilter = function() {
$scope.filteredGrid = $scope.DataGrid.filter((d) => d.Category == $scope.search);
}
例如:DEMO2
推荐阅读
- php - 在管理员中使用带有动态内容的 wordpress 厚框
- typescript - 在另一个包上使用类型声明
- go - 生成 micro-go 代码时出错 - --go_out: protoc-gen-go: unknown plugin "micro"
- python - Discord.py 不响应文字命令
- java - 弹簧靴 | 自动装配 CloseableHttpClient 失败 NoSuchBeanDefinitionException
- laravel-5 - 从控制器异步运行命令
- c# - c# - 将文件中的 10 行随机行(不重复)写入 15 个文件中的每一个
- phpspreadsheet - 找不到包 phpoffice/phpspreadsheet
- python-3.x - python中的self关键字用法?详细的解释就像你在解释一个孩子一样
- django - 如何在 django 中使用 mysql-connector mysql 适配器??/