AngularJS:判断没有(各种类型的)输入是否为真的最简单方法
AngularJS: Easiest way to tell if no inputs (of various types) are true
我正在为动态表构建过滤器,还没有想出一种优雅的方式来告诉 Angular 没有设置过滤器。
假设我有一系列复选框。如果选中一个,它将显示与该复选框值匹配的项目。如果选中两个,它会显示与其中一个匹配的项目。
如果未选中任何项目,我想显示所有项目。
到目前为止,我只是笨拙地检查所有过滤器:
if(!filter.one && !filter.two && !filter.three){
return;
}
当我构建更多过滤器时,这变得很烦人。
我想做的是设置一个这样的双重模型:
<input type="checkbox" ng-model="filter.one; filterSet"/>
这样,每个复选框不仅告诉我设置了特定的过滤器,还告诉我设置了一个过滤器 - 任何过滤器。
由于 AngularJS 不支持此功能,是否有任何简单的方法来检查我的任何复选框或收音机是否已设置?
不确定是否有更优雅的方法可以做到这一点,但我会采取的一种方法是使用id/值/其他属性列出输入对象。
然后,您可以ng-repeat
这些复选框(或者假设您知道它们在列表中的位置,则一次手动将它们放入一个复选框)。这也将允许您循环访问输入列表并让循环检查其值(而不是 long if 语句)。
这样,当您要添加新复选框时,请在列表中创建一个新对象,循环将自动为您检查其值。看看这个小提琴:https://jsfiddle.net/ahmadabdul3/84esk49L/1/
您还可以为每个输入对象指定自己的函数,具体取决于它应执行的功能。此外,可能将这些输入放入自己的服务或工厂中。
使用与您需要的逻辑类似的逻辑更新了小提琴:https://jsfiddle.net/ahmadabdul3/84esk49L/2/
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以为HTML5输入滑块触发oninput事件
- 使用onkeyup JS事件检查输入的值是否唯一
- 是否可以从输入处理程序中确定输入的类型
- angularJs检查是否输入
- Angularjs-检查我是否输入并切换加载程序图标
- javascript 警报以确认值是否输入了两次
- 检查是否输入了文本.找不到错误
- 提交前验证表单(检查是否输入了所有字段)
- 在JSF+PrimeFaces中重置表单之前,请检查是否输入了一些强制输入字段
- 检查是否输入了正确的电子邮件
- 检测以前是否输入过
- 如何检查数字输入字段中是否输入了字母字符或符号
- 搜索小部件-如何确定是否“输入”已按下或已选择结果
- 如何知道用户是否输入了已注册的有效电子邮件地址
- ASP.Net MVC Razor引擎:让javascript函数知道用户是否输入了无效数据
- jQuery如何判断用户是否输入'& # 39;在文本输入区
- 如何检测是否输入了两个输入元素,如文本字段.(php / javascript)
- 如何知道用户是否输入了无效的$routeparams
- Select2 -告诉用户是否输入了新的搜索选项