【问题标题】:h:selectbooleancheckbox click not enabling the next h:selectbooleancheckboxh:selectbooleancheckbox 单击不启用下一个 h:selectbooleancheckbox
【发布时间】:2013-07-17 04:53:59
【问题描述】:

我正在使用 JSF 2.0。我有两个复选框(都是 h:selectBooleanCheckBox)。要求是在单击第一个复选框时启用第二个复选框。下面是代码的样子:

<h:selectBooleanCheckbox  id="chkbox1" 
value="#{dataTableRow.employeeMBean.displayStatus}"
    onclick="updateDisplayStatus(this);return false;">
<a4j:ajax execute="chkbox1" render="chkbox1, chkbox2"></a4j:ajax>
</h:selectBooleanCheckbox>
<h:selectBooleanCheckbox  id="chkbox2" 
value="#{dataTableRow.employeeMBean.publicStatus}"
    disabled="#{!dataTableRow.employeeMBean.displayStatus}">
</h:selectBooleanCheckbox>

JS:

function updatePublicStatus(obj){   
    var currentValue = obj.checked;
    updatePublicStatusJS(currentValue);
    if(currentValue == true){
        document.getElementById("summaryForm:solutionsTable:"+solnDtIdx+":editPanel:0:chkbox2").disabled = "false";
    }
    else{
        document.getElementById("summaryForm:solutionsTable:"+solnDtIdx+":editPanel:0:chkbox2").disabled = "disabled";
    }
}

a4j:jsFunction

<a4j:jsFunction name="updatePublicStatusJS" action="#{employeeMBean.updatePublicStatus}"
 render="chkbox2">
<a4j:param name="param1" assignTo="#{dataTableRow.employeeMBean.displayStatus}"/>
</a4j:jsFunction>

有两个问题:

  1. 第二个复选框未在单击第一个复选框时启用 复选框。
  2. a4j:jsFunction 的操作永远不会得到 调用。

我不确定为什么没有启用第二个复选框。 如果需要更多代码或解释,请告诉我。

提前致谢。

【问题讨论】:

  • 您正在使用 JS 启用第二个复选框,但您也在建立 disabled 条件,这使得在您进行 ajax 调用后启用/禁用该复选框。选择其中之一(客户端或 ajax)来更新您的第二个复选框状态,而不是两者。
  • 谢谢。让我尝试一下,然后会回到这里。
  • 根本原因是,不需要“”调用。我想这也是你提到的。
  • 没关系。然后,发布此帖子的答案并将其标记为已解决。
  • 当然。发布了答案。我只能在明天将其标记为已回答(堆栈溢出规则)。

标签: jsf-2 ajax4jsf


【解决方案1】:

根本原因:不需要&lt;a4j:jsFunction&gt;。所以我删除了 onclick 并使用&lt;a4j:ajax execute="@this" render="chkbox2"/&gt; 执行了&lt;h:selectBooleanCheckbox&gt;。这样,只要我选择第一个复选框,就会设置复选框值,并且第二个复选框使用更新的值呈现(因为“渲染”属性)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多