如何在 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 的状态