PrimeFaces选择器,包括具有隐藏输入字段的组件的输入



我想使用PrimeFaces Selectors来处理某个组中的所有输入组件,该组包括几个p:rating字段。

我将我的用例最小化为XHTML:

<h:form>
<h:panelGroup styleClass="myGroup">
<p:rating value="#{myBean.rating}"/>
<p:commandButton value="Save"
process="@(.myGroup :input)"
action="#{myBean.save()}"/>
</h:panelGroup>
</h:form>

Bean:

@Named
@ViewScoped
public class MyBean implements Serializable {
private Integer rating; // Getter and setter are present
public void save() {
System.out.println("Rating: " + rating);
}
}

使用上述选择器时,不处理评级。如果我将组件更改为p:inputText,则它正在工作。如果我删除进程属性,它也在工作。我认为这与p:rating用于其值的隐藏输入有关。

我的问题是:你能创建一个PrimeFaces选择器,它包括带有隐藏输入字段的组件的输入吗?

:hidden是一个特殊的Jquery选择器,不是CSS的一部分。

请参阅:https://api.jquery.com/hidden-selector/

因此,将您的选择器更改为:

@(.myGroup :input :hidden)

然而,我怀疑这在您的情况下是否有什么大不了的,但请务必阅读jQuery:hidden文档中的"附加说明"部分。

在您的情况下也可以使用p:fragment:

<h:form>
<p:fragment>
<p:rating value="#{myBean.rating}"/>
<p:commandButton value="Save"
action="#{myBean.save()}"/>
</p:fragment>
</h:form>

最新更新