7

我有一个 primefaces(3.4.2 版)滑块和一个 inputText 用于滑块值的输出值。问题是滑块的更改会更新 inputText 的显示值,但不会调用绑定到 inputText 的 setter。

这是我的滑块:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:a4j="http://richfaces.org/a4j">

    <h:head>
        <title>Zinsrechner</title>
    </h:head>

    <h:body>

        <h:form>
            <h:panelGrid columns="1" style="margin-bottom:10px">
                <p:inputText id="x" value="#{zinsrechner.monatlicherBeitrag}" />
                <p:slider minValue="0" maxValue="150" for="x" />
            </h:panelGrid>
        </h:form>

    </h:body>

</html>

这是我的 Setter,它没有被调用:

public void setMonatlicherBeitrag( Double beitrag ) {
    monatlicherBeitrag = beitrag;
}

吸气剂被称为:

public Double getMonatlicherBeitrag() {
    return GuiParameter.getSpareinlageProMonat();
} 
4

2 回答 2

11

<p:ajax>在您的 Slider 内部 添加一个将达到目的。

例子:

<p:slider minValue="0" maxValue="150" for="x">
    <p:ajax event="slideEnd" process="x" />
</p:slider>
于 2012-11-22T11:36:04.837 回答
3

我遇到了同样的问题,但在我的情况下,我将<p:inputNumber .../>标签设置为只读。我删除了该属性,一切正常。

于 2017-08-04T17:05:55.183 回答