- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
致意
我一直在尝试寻找一种方法来编辑 Ember.Select 框,而无需实际手动选择值,而是在内部编辑它们。我的 Ember.Select 看起来像这样:
{{view Ember.Select
contentBinding="Et.router.availablePhasesController"
optionValuePath="content.id"
optionLabelPath="content.label"
selectionBinding="a.selectedPhase"
}}
availablePhasesController 看起来像这样:
Et.AvailablePhasesController = Ember.ArrayController.extend({
content: [
{ id: 1, label: "1" },
{ id: 2, label: "2" },
{ id: 3, label: "3" }
]
});
当我从选择框中选择这些值时,这一切都很好,但我的问题是,我能否以某种方式更改由 Ember.Select 创建的选择元素上的值,它会触发绑定(bind),这意味着我的“a .selectedPhase"还将获取用于更改选择元素的值。
我尝试将 jQuery 与 .val() 和 .attr("value") 一起使用,但这只会影响 UI 而不会触发绑定(bind),这意味着选择框有值但没有“a.selectedPhase”
我还尝试扩展 Ember.Select View ,发现它有一个变量“value”,它存储当前值并根据绑定(bind)进行更新,但我找不到它的任何用途。我创建了观察者来观察此值何时发生变化,但这没有帮助,因为它仅在我手动选择新值时发生变化。
总而言之,除了直接更改绑定(bind)中的变量或通过 UI 之外,是否有其他方法可以通过某种方式触发 selectionBinding?
编辑:我已经按照评论中有人的要求创建了一个 jsfiddle:http://jsfiddle.net/y52Pc/2/
您可以看到绑定(bind)工作正常,如果您使用选择框选择不同的选项,它将正确更新。我还设置了两个按钮,一个使用 Ember.set 方法,这也可以正常工作并触发绑定(bind)。另一种使用 jQuery.val() 的方法只会影响 UI 而不会触发绑定(bind)。
我正在寻找的是其他一些触发绑定(bind)的方法,然后通过选择选择框设置或手动触发绑定(bind)。
编辑 2:我在此处添加了一种通过 jQuery 触发绑定(bind)的更新方式:http://jsfiddle.net/y52Pc/3/这似乎解决了问题!
最佳答案
每当您使用 $().attr()
更改选择组件的值时,它都不会触发更改事件(DOM 事件应该触发 ember.js 更新绑定(bind))。您应该手动调用 $('selector').attr().trigger('change')
关于javascript - Ember selectionbinding - 如何让它燃烧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286172/
致意 我一直在尝试寻找一种方法来编辑 Ember.Select 框,而无需实际手动选择值,而是在内部编辑它们。我的 Ember.Select 看起来像这样: {{view Ember.Select
我已经为我的 Ember.Select 添加了 selectionDidChange 事件,但是当我的 View 加载时,它会在加载时为所有可用的下拉选项触发该事件。原因是它在内部向下拉列表添加选项并
我是一名优秀的程序员,十分优秀!