禁用 Ember 中具有特定值的选择选项



我正在使用 Ember 1.4,当另一个选择元素的值为 1 时,我在禁用选择元素时遇到问题 max_attempt_count attempt_interval。在我的测试环境中不使用 Ember 时,它工作正常。有什么想法吗?

jQuery

$(document).on('change', 'select[name=max_attempt_count]', function(){
    var ctrl=$(this);//$(this) refers to current clicked button
    var maxAttempt =ctrl.closest('form').find('select[name=max_attempt_count]');
    var interval =ctrl.closest('form').find('select[name=attempt_interval]');
    $(maxAttempt).change(function() { //each time a user selects a option (event triggered)
        $(interval).prop('disabled', this.value == 1);
    }).change(); //auto execute when page load
} )

.HTML

<select id="ember894" class="ember-view ember-select chosen-select" name="max_attempt_count" style="display: none;">
 <option id="ember907" class="ember-view" value="1">
 <option id="ember908" class="ember-view" value="2"><option id="ember909" class="ember-view" value="3">
 <option id="ember910" class="ember-view" value="4">
 <option id="ember911" class="ember-view" value="5">
</select>
好的,

所以你有 2 个选择菜单,值为 attempt_intervalmax_attempt_count .

attempt_interval 等于 1 时,需要禁用最大max_attempt_count

选择

您应该创建一个这样的计算属性。

js 文件

maxAttemptDisabled: Ember.computed.equal('attempt_interval', 1)

哈佛商学院

{{select data=blah selection=attempt_interval}}
{{select data=blah2 selection=max_attempt_count disabled=maxAttemptDisabled}}

如果你想隐藏它

{{#unless maxAttempltDisabled}}
       {{select data=blah2 selection=max_attempt_count}}
{{/unless}}

如果您使用的是余烬 2(一种方式,但不是首选。铌!需要 is 相等的助手)

{{select data=blah2 selection=max_attempt_count disabled=(is-equal attempt_interval 1)}}

最新更新