当焦点位于复选框上并且用户按 Enter 键时,我需要根据其状态使值处于事件或非事件状态,并且还聚焦于按钮,焦点有效但值未更新,这是到目前为止我所拥有的:
SelectBooleanCheckBox:
<p:selectBooleanCheckbox id="sbcActivoProp" widgetVar="sbcActivoPropWV" onchange="document.getElementById('frmGuardarActualizarPropiedad:btnGuardarPropiedad').focus(); return false;"
binding="#{programaAccesoMB.sbcActivoProp}"
label="#{etiquetasMsg.general_activo}" disabled="false">
</p:selectBooleanCheckbox>
Javascript:
<script type="text/javascript">
var focusSbcActivoProp = document.getElementById('frmGuardarActualizarPropiedad:sbcActivoProp_input');
if (focusSbcActivoProp != null) {
focusSbcActivoProp.onkeydown = function(event) {
if (event.keyCode == 13) {
var ischecked = sbcActivoPropWV.input.is(':checked');
if(ischecked){
console.log('is checked');
document.getElementById('frmGuardarActualizarPropiedad:sbcActivoProp').value=false;
}else{
console.log('is not checked');
document.getElementById('frmGuardarActualizarPropiedad:sbcActivoProp').value=true;
}
document.getElementById('frmGuardarActualizarPropiedad:btnGuardarPropiedad').focus();
}
return false;
}
};
</script>
最佳答案
PrimeFaces documentation为您提供答案:
Client Side API
Widget: PrimeFaces.widget.SelectBooleanCheckbox
Method Params ReturnType Description check() - void Checks the checkbox. uncheck() - void Unchecks the checkbox. toggle() - void Toggles check state.
我查了一下,这至少适用于 7.0 和 8.0(没有寻找早期版本,但尝试起来很简单)
关于javascript - 如何设置 p :selectBooleanCheckbox with JavaScript 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59534232/