0

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

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

我已经把 return false; 停止传播,但没有成功。

4

2 回答 2

0

Em.Checkbox可能是正确的方式

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

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

演示小提琴

于 2013-09-05T15:47:54.690 回答
0

因为在我看来,这是 ember 的一个非常愚蠢的问题,所以我决定锁定另一种方法。

我所做的是在复选框更改时放置一个事件:

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

于 2013-09-12T15:44:12.747 回答