[英]Dyamically created p:pickList inside ui:repeat doesn't call ajax transfer event
Here is the code that creates p:pickList
s inside ui:repeat
according to Analysis
object: 以下是根据Analysis
对象在ui:repeat
中创建p:pickList
的代码:
<ui:repeat value="#{section.questions}" var="question" varStatus="qStatus">
<h:form id="questionForm#{qStatus.index+1}">
<p:fieldset style="border:none; " rendered="#{question.questionType.titleId eq 'OrderList'}">
<div class="ui-grid-row">
<div class="ui-grid-col-12 questionText">
<strong>#{qStatus.index+1}.</strong>
<h:outputText value="#{ question.questionText}" />
</div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-12">
<p:pickList id="orderQuestionPickList#{qStatus.index+1}" styleClass="dutyPickList" responsive="true" showTargetControls="true"
value="#{analysisBean.sampleDualList}" var="option" itemLabel="#{option.text}" itemValue="#{option}" converter="#{itemConverter}" >
<f:facet name="sourceCaption">Tüm Şıklar</f:facet>
<f:facet name="targetCaption">Seçilen Şıklar</f:facet>
<p:ajax event="transfer" listener="#{analysisBean.onPickListTransfer}" />
</p:pickList>
</div>
</div>
</p:fieldset>
</h:form>
</ui:repeat>
And the Bean: 和豆:
public void onPickListTransfer(TransferEvent event) {
System.out.println("asd");
int totalItemsNumber = 0;
DualListModel<Option> dualListModel = (DualListModel<Option>) getDualListOfOptions(new ArrayList<Option>());
if (dualListModel != null) {
totalItemsNumber = dualListModel.getTarget().size();
}
}
When I add picklist outside the ui:repeat
it calls onPickListTransfer
successfully, however the picklist inside ui:repeater
does not call. 当我在ui:repeat
之外添加选择列表时,它onPickListTransfer
成功调用onPickListTransfer
,但是不会调用ui:repeater
内部的选择列表。
How can I solve this issue? 我该如何解决这个问题? Primefaces 5.3, Seam 2.3.1 Primefaces 5.3,接缝2.3.1
The solution is to use <f:param name="skipValidation" value="true"/>
解决方案是使用<f:param name="skipValidation" value="true"/>
<p:pickList id="orderQuestionPickList#{qStatus.index+1}" styleClass="dutyPickList" responsive="true" showTargetControls="true"
value="#{analysisBean.sampleDualList}" var="option" itemLabel="#{option.text}" itemValue="#{option}" converter="#{itemConverter}" >
<f:facet name="sourceCaption">Tüm Şıklar</f:facet>
<f:facet name="targetCaption">Seçilen Şıklar</f:facet>
<f:param name="skipValidation" value="true"/>
<p:ajax event="transfer" listener="#{analysisBean.onPickListTransfer}" />
</p:pickList>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.