如何<p:selectBooleanCheckbox>
使用 JavaScript 禁用组件?
我的目标是防止用户在 ajax 请求期间更改一个 selectBooleanCheckbox 的值(这会更改托管 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。