我一直在使用Ember 1.0开发一个Web应用程序,我有以下复选框:
<div class="col-md-2 chart-type">
<label class="checkbox margin-left5" style="margin: 5px 0px 5px 0px;">
<input type="checkbox" name="selectAllSignals" id="selectAllSignals" {{action selectAllCharts "selectAllSignals" target="view"}}/> All
</label>
我还有以下行动:
selectAllCharts : function(id){
var isToCheck = $("#" + id).is(':checked');
/* do something */
},
当我点击复选框时,它被调用的函数,如果我有一个断点,我看到复选框中的复选标记,问题是当我继续执行复选框时取消选中它。
我已经把假回归了;停止传播,但没有成功。
答案 0 :(得分:0)
Em.Checkbox
可能是正确的方法
{{view Em.Checkbox checkedBinding="isChecked"}}
和
checkedDidChange: function(){
// alert(this.get('isChecked'));
//Some stuff here
}.observes('isChecked')
答案 1 :(得分:0)
因为在我看来,这是一个非常愚蠢的问题,我决定用另一种方式锁定。
我所做的是在复选框发生变化时发出一个事件:
<div class="col-md-2 chart-type">
<label class="checkbox margin-left5" style="margin: 5px 0px 5px 0px;">
<input type="checkbox" name="selectAllSignals" id="selectAllSignals" onchange="selectAllCharts(this)"/> All
</label>
</div>
并为其创建一个名为“selectAllCharts”的函数。
感谢@ selva-G的帮助以及RhinoWalrus的评论