我正在使用Ember 1.4,当另一个选择元素(max_attempt_count)的值为1时,我遇到了一个问题,即在禁用选择元素(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>
答案 0 :(得分:0)
好的,你有2个选择菜单,其值为 attempt_interval 和 max_attempt_count 。
当 attempt_interval 等于1时,需要禁用max max_attempt_count select
你应该像这样制作一个计算属性。
js file
maxAttemptDisabled: Ember.computed.equal('attempt_interval', 1)
HBS
{{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(一种方式但没有优先。请注意!需要等于帮助者)
{{select data=blah2 selection=max_attempt_count disabled=(is-equal attempt_interval 1)}}