Primefaces在点击按钮后启用组合框

时间:2013-03-13 11:45:32

标签: javascript primefaces

使用案例:我在编辑表单中有一个非常重要的值,不应经常更改。我决定让它只读,并在侧面有“更改”按钮。单击此按钮后,对话框显示警告显示给用户,并且此只读字段已启用更改。 (这是一个selectOneMenu)

首次尝试:

<p:selectOneMenu
                id="integrationCombo"
                value="#{backendBean.integration.backend}"
                widgetVar="backendIntegrationCombo"
                disabled="true">
    <f:selectItems
    value="#{backendBean.backends}"
    var="backend" itemValue="#{backend}"
    itemLabel="#{backend.name}" />
    </p:selectOneMenu>
<p:commandButton type="button"
     styleClass="inlineTableCellButton"
     onclick="backendIntegrationCombo.enable()"
     value="#{msg['button.change']}" />

这会启用组合框,但是他的值不会发送到服务器(这是因为我发现了disabled = true)

我的第二次尝试是在视图范围内的bean上使用可编辑的布尔值 disable =“#{!bean.editable}”并使用命令按钮调用setEditable(true)。这很好用,但由于未知原因,现在提交表单的命令按钮上的保存操作停止工作。

第三次尝试:使用name和combobox(隐藏类)渲染h:outputText,单击更改按钮后切换其隐藏类。

function changeBackend() {
    $("#backendName").addClass("hidden");
    $("#integrationCombo_input").parent().parent().removeClass("hidden");
}

除了一件事之外,它也可以正常工作:保存完成后 - 没有任何内容呈现(既不是ouputText也不是组合框)

0 个答案:

没有答案