在复选框中停止传播

时间:2013-09-04 15:52:52

标签: jquery ember.js

我一直在使用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 */
    },

当我点击复选框时,它被调用的函数,如果我有一个断点,我看到复选框中的复选标记,问题是当我继续执行复选框时取消选中它。

我已经把假回归了;停止传播,但没有成功。

2 个答案:

答案 0 :(得分:0)

Em.Checkbox可能是正确的方法

{{view Em.Checkbox checkedBinding="isChecked"}}

    checkedDidChange: function(){
   //        alert(this.get('isChecked'));
    //Some stuff here
    }.observes('isChecked')

Demo Fiddle

答案 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的评论