如何在 Ember.js 中获取复选框状态?

Posted

技术标签:

【中文标题】如何在 Ember.js 中获取复选框状态?【英文标题】:How to get checkbox state in Ember.js? 【发布时间】:2015-07-15 15:38:48 【问题描述】:

我创建了一个组件,它可以正确设置值来呈现复选框。它们也可以响应点击事件,所以在 hbs 模板中有一个循环,它会像这样呈现复选框:

<input class="conditions" type="checkbox" value="c.id" 
  action "conditionChecked" r preventDefault=false 
  checked=c.checked />c.name

在组件中,我有 actions: 包含 conditionChecked 钩子。钩子有c 参数,这是我从模板中传递的,它也有checked 属性,总是等于true

如何根据用户的选择(选中/未选中)访问复选框的实际状态?

编辑:我是 Ember.js 的新手。如果您能提供一个示例的链接,那就太好了。

【问题讨论】:

【参考方案1】:

首先,我建议您使用 Ember input type="checkbox" checked=someControllerProperty。这会将选中的值作为布尔值绑定到您传递给input helper 的checked 属性的任何控制器属性。不需要所有的动作。它是 Ember,有两种方式绑定,因此将一个 true 值传递给这个助手将呈现一个带有复选标记的复选框。

如果你必须走你要去的路(看起来你正在与框架作斗争),在你的 conditionChecked 动作中,你可以使用方便的花花公子视图助手 jquery 选择器功能 this.$() 并找到你的复选框.一旦找到,观察它的检查属性,并设置一些值。我得说,你在这里重新发明***,因为这正是内置的 input type="checkbox" 助手所做的

【讨论】:

但是,如果我需要收集所有复选框的值并组成一个数组(最终它是服务器端 Postres 中存储的 JSON 字段),如何将复选框绑定到单个属性? 你可以有一个布尔数组和#each b in booleanArray input type="checkbox" checked=b/each

以上是关于如何在 Ember.js 中获取复选框状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 PyQt 中 QGroupbox 中存在的 Qcheckbox 的状态

Selenium - 如何获取复选框的当前状态?

如何通过name获取单选框和复选框选中状态的value值?

在 React Native 中获取 TextInput 值和复选框状态

获取复选框jquery的当前状态[重复]

Android中如何实现高亮显示即选中状态