2015-04-24 113 views
0

我有多個輸入複選框,我想知道他們中至少有一個何時更改其屬性「checked」,然後啓用按鈕「sim」。Emberjs獲取多個複選框屬性

<div id="alertReject{{post.id}}" style="display: none;"> 
    Você deseja rejeitar a resposta #ID {{post.id}}? Porque? 
    <hr style="margin: 5px 0;"> 
    <div class="checkbox"> 
    <label>{{input type="checkbox"}} Ofensas</label> 
    <label>{{input type="checkbox"}} Discussão agressiva entre os participantes</label> 
    <label>{{input type="checkbox"}} Discussão pessoalizada</label> 
    <label>{{input type="checkbox"}} Postagens que fogem ao tema</label> 
    <label>{{input type="checkbox"}} Questionamentos sobre metodologia</label> 
    <label>{{input type="checkbox"}} Questionamentos sobre definição de conceitos</label> 
    <label>{{input type="checkbox"}} Participante se volta contra o moderador</label> 
    </div> 
    <hr style="margin: 5px 0;"> 
    <div class="form-group"> 
    <label>Mensagem adicional: <b>(opcional)</b></label> 
    <textarea name="{{post.id}}-msgOpt"></textarea> 
    </div> 
    <button class="btn btn-danger" disabled="disabled" {{action 'rejectPost' post}}>Sim</button> | 
    <button class="btn btn-default" {{action 'dismissPopover'}}>Não</button> 
</div> 

我已經嘗試過使用組件,視圖和操作,但我無法獲取複選框的更改事件。

這樣做的最好方法是什麼?

PS .:需要注意的一點是,這個結構是在一個循環內。

回答

1

鑑於

{{input type="checkbox" checked=foo}} 
{{input type="checkbox" checked=bar}} 
{{input type="checkbox" checked=baz}} 

一個計算屬性添加到模板的背景下,是true如果被選中

hasResponded: Ember.computed.or('foo', 'bar', 'baz') 

然後綁定這禁用類提交按鈕的一個或多個值:

<button {{action 'rejectPost' post}} 
    {{bind-attr class="hasResponded::disabled :btn :btn-danger"}}> 
    Sim 
</button> 
+0

這工作非常好!謝謝。但我正面對一些好奇的事情......當我在正常範圍內使用這個功能時工作正常,但是當我將Bootstraps popover放在裏面時會停止工作......任何線索爲什麼? –