在表单中,我有p:inputText
和p:colorPicker
如下:
<h:outputText value="#{messages.titre}" />
<p:inputText value="#{beanPlanningRessource.equipe.typeRessource.titre}">
</p:inputText>
<h:outputText value="#{messages.couleur}" />
<p:colorPicker value="#{beanPlanningRessource.equipe.typeRessource.couleur}">
</p:colorPicker>
我有p:commandButton
调用managedBean方法如下:
<p:commandButton widgetVar="ajouter_equipe"
style="visibility: hidden;"
actionListener="#{beanPlanningRessource.ajouterEquipe()}" process="@this"
update=":#{p:component('dataTableEquipe')}, :#{p:component('formEquipe')}, :msgs" >
</p:commandButton>
这里的问题是托管bean中p:inputText
和p:colorPicker
中的值始终为null,因此在p:inputText
我添加了这一行:
<p:ajax event="change" process="@this" />
现在使用beanPlanningRessource.equipe.typeRessource.titre
中的值更新p:inputText
。
我仍然遇到的问题是p:colorPicker
是非ClientBehaviorHolder组件,因此我无法将p:ajax
附加到f:ajax', so the value attached to the
,:
p:colorPicker {{1} (beanPlanningRessource.equipe.typeRessource.couleur`)始终为null。
我该如何解决这个问题?
答案 0 :(得分:0)
除了jquery之外,您还可以使用valueChangeListener
HTML:
<p:colorPicker valueChangeListener="#{beanPlanningRessource.colorChanged}" value="#{beanPlanningRessource.equipe.typeRessource.couleur}"/>
豆:
colorChanged(ValueChangeEvent event){
String newColor = event.getNewValue();
//do whatever you want with the new value
}