2016-05-25 10 views
0

Ember 1.4を使用しています。別のselect要素(max_attempt_count)の値が1のときにselect要素(try_interval)を無効にするときに問題が発生します。 Emberを使用しないときの私のテスト環境。何か案は?Emberで特定の値を持つselectオプションを無効にする

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 
}) 

あなたはattempt_intervalとmax_attempt_count値で2を選択し、メニューを持っているので、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

Ember 1.4は存在しませんでした。あなたは2.4を意味しますか?私はあなたがEmber 1または2の上にいれば、それはちょっと大きな違いになります。 –

答えて

0

[OK]をクリックします。 attempt_intervalあなたはこのように計算されたプロパティをしなければならない1

に等しいとき

とMAX max_attempt_count選択ニーズを無効にします。

jsが

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

HBSあなたがしたい場合には

{{select data=blah selection=attempt_interval}} 

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

ファイルyoureの燃えさし2(方法を使用しますが兼ね備えていない場合は

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

それを隠します。 NB!is-equaが必要ですlヘルパー)

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

ブロックヘルパーではなく、使用できるDOM要素を非表示にするには、isVisibleプロパティを使用します。 {{データの選択=選択肢の選択=試行間隔の選択=最大の属性の無効化}} – kumkanillam

+0

mkay、nice discovery(Y) –

関連する問題