我有多个输入复选框,我想知道它们中至少有一个更改其属性"已检查"然后启用按钮" sim"。
<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:需要注意的一件重要事情是这个结构在一个循环中。
答案 0 :(得分: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>