<p:selectBooleanCheckbox>
JavaScript を使用してコンポーネントを無効にするにはどうすればよいですか?
私の目標は、ユーザーが 1 つの selectBooleanCheckbox の値を変更し、別の値が ajax 要求時に変更されないようにすることです (マネージド Bean の値を変更します)。
私の簡略化されたコード:
<p:selectBooleanCheckbox id="..." value="..." widgetVar="abcde">
<p:ajax listener="..." update="..."/>
</p:selectBooleanCheckbox>
<p:selectBooleanCheckbox id="..." value="...">
<p:ajax listener="..." update="..." onstart="alert(document.getElementById('j_idt14:locationChoice2_input').disabled);document.getElementById('j_idt14:locationChoice2_input').disabled=true;alert(document.getElementById('j_idt14:locationChoice2_input').disabled)" />
</p:selectBooleanCheckbox>
j_idt14:locationChoice2_input
id は、最初の<p:selectBooleanCheckbox />
コンポーネントの ID です。
alert() 関数は dsplayfalse
以降でtrue
あるため、私のコンポーネントは十分に無効になっています。
ただし、無効になっている場合は、同じレンダリング イベントにとどまります。
無効な状態に一致するように CSS クラスを手動で変更する唯一の方法はありますか? 私widgetVar
を助けることができますか?
nb: コンポーネントの外観をすぐに変更したいので、JSFdisabled
属性を使用せず、JS を使用する必要があります。