如何在 emberjs 中使用复选框实现多个过滤器
How to implement multiple filters with checkboxes in emberjs?
如何在 emberjs 中使用复选框实现多个过滤器?我想使用在模板复选框中选中的某些属性的项目过滤网格表......
例如,如果我有这个夹具:
export default employees[
{
name: 'Ricky',
department: 'Finance',
departmentIsChecked: false
},
{
name:'George',
department:'Marketing'
departmentIsChecked:false
},
{
name:'Jonah',
department: 'Finance',
departmentIsChecked:false
}
];
如何只在表格上显示选中的部门员工?
这是我所拥有的:
Ember.Controller.extend({
filtered: function(){
var departmentIsChecked = this.get('departmentIsChecked');
var model = this.get('model');
if (departmentIsChecked){
model=model.filterBy('departmentIsChecked', true);
}
return model;
}.property('departmentIsChecked')
});
模板:
{{#each employee in model}}
{{input type='checkbox' checked=employee.departmentIsChecked}}{{employee.department}}
{{/each}}
JSBIN: http://emberjs.jsbin.com/gaqavu/10/edit?html,css,js,output
如果没有太多部门,则可以创建与部门名称对应的属性,然后按如下所示筛选模型:
App.EmployeesController = Ember.ArrayController.extend({
inFinance: false,
inMarketing: false,
// ...more departments...
filtered: function(){
var inFinance = this.get('inFinance');
var inMarketing = this.get('inMarketing');
var model = this.get('model');
var newModel = model;
if(inFinance){
newModel = model.filterBy('department', 'Finance');
}
// ... you will need to merge more depts here ...
return newModel;
}.property('inFinance', 'inMarketing')
});
您的模板将如下所示:
<script type="text/x-handlebars" data-template-name="employees">
<h3 style='padding:15px'> Filter</h3>
{{input type='checkbox' checked=inFinance}} Finance
{{input type='checkbox' checked=inMarketing}} Marketing
<h2 class="sub-header" >Employees</h2>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>name</th>
<th>department</th>
</tr>
<tbody>
{{#each employee in filtered}}
<tr>
<td>{{employee.name}}</td>
<td>{{employee.department}}</td>
{{/each}}
</thead>
</script>
部分工作解决方案在这里
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 如何实现复选框或面向类别的照片库
- 如何在 emberjs 中使用复选框实现多个过滤器
- 使用 Json 数据源在数据表中实现复选框选择
- 如何为未知数量的复选框实现全选按钮
- 如何在免费的jqGrid 4.13.0中实现单击复选框
- 如何在 jQuery 中的互斥复选框上实现单击事件
- React-如何实现复选框
- javascript实现“;“全选”;复选框在IE中不起作用
- JqGrid复选框字段实现失败
- 如何在php中实现多个复选框
- 如何在knockoutjs中实现复选框依赖关系
- 用javascript在JSP中实现一个全选复选框
- 如何实现渐变效果的CSS复选框
- 3个动态复选框可实现通信
- 在Rails中实现AJAX调用复选框来更新数据库
- 如何实现只有一个复选框被选中的功能到复选框列表