primefaces inputText有时不会更新

时间:2015-09-04 12:17:20

标签: jsf-2 primefaces jsf-2.2

我从模型中渲染搜索蒙版。一种可能的搜索掩码输入类型是来自n选择的1。这个来自n类型的1包含p:inputText以显示所选值,p:commandButton打开p:overlayPanel以选择值,另一个p:commandButton来清除所选值。 在一种情况下,不会更新清除按钮。 ajax响应不包含要更新的输入字段。 E. g。我在搜索掩码中的n个字段中有3个。为每件作品选择一个值,清除每件作品。当我为所有值分配并提交表格(执行搜索)时,一切都很好。现在我按下n字段的清除按钮1。 1,价值被清除......很好。这也适用于第二个字段,但不适用于最后一个字段。如何提到缺少ajax响应中的更新,但是执行了bean方法。任何的想法?或者我该如何调试它? 1个来自n字段的元素的代码:

<ui:param name="curFieldSize" value="cc.attrs.curMaskElement.getSize()}" />
<ui:param name="curDummyCssClass" value="searchFieldChoiceDummyCssClass#{cc.attrs.curRowIndex}#{cc.attrs.curColumnIndex}" />

<p:inputText value="#{cc.attrs.curMaskElement.propertyValue}" readonly="true" styleClass="#{curDummyCssClass}" size="#{curFieldSize}"
    rendered="#{curIsChoice and (curFieldSize gt 0)}">
    <f:converter converterId="choiceConverterSearchMask" />
</p:inputText>
<p:inputText value="#{cc.attrs.curMaskElement.propertyValue}" readonly="true" styleClass="#{curDummyCssClass}"
    rendered="#{curIsChoice and (curFieldSize le 0)}">
    <f:converter converterId="choiceConverterSearchMask" />
</p:inputText>
<p:commandButton id="colChoiceSelectionButtonId" oncomplete="PF('choiceSelectionSearchVar').loadContents('#{component.clientId}');"
    immediate="true" actionListener="#{searchChoiceListController.setSelectedObject(cc.attrs.curMaskElement)}"
    process="@this" />
<p:commandButton immediate="true" actionListener="#{searchMaskBL.clearChoiceSelection(cc.attrs.curMaskElement)}" 
    update="@(.#{curDummyCssClass})" process="@this @(.#{curDummyCssClass})" />

有2 p:inputText因为模型可以定义字段的可变大小或固定大小。因此定义size属性而不定义属性。我还没有找到属性大小的值,所有浏览器都会以相同的方式忽略它。我也试着避免使用JSTL。所以我必须有条件地渲染不同的inputText。 我使用的是Mojarra 2.2.10和PF 5.2.6。

这是用于清除输入字段的命令按钮的渲染html:

<button id="searchInstancesFormId:j_idt261:1:j_idt263:1:j_idt265:colChoiceListSelectionButtonClearId" name="searchInstancesFormId:j_idt261:1:j_idt263:1:j_idt265:colChoiceListSelectionButtonClearId" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only removeChoiceValueButton" onclick="PrimeFaces.ab({s:&quot;searchInstancesFormId:j_idt261:1:j_idt263:1:j_idt265:colChoiceListSelectionButtonClearId&quot;,u:&quot;@(.searchFieldChoiceDummyCssClass11)&quot;});return false;" title="Alle Werte entfernen" type="submit" role="button" aria-disabled="false"><span class="ui-button-icon-left ui-icon ui-c removeChoiceValueButtonIcon"></span><span class="ui-button-text ui-c">ui-button</span></button>

这是输入字段的html:

<input id="searchInstancesFormId:j_idt261:1:j_idt263:1:j_idt265:choiceInputSizedId" name="searchInstancesFormId:j_idt261:1:j_idt263:1:j_idt265:choiceInputSizedId" type="text" value="Debitorisch" size="50" title="choice" readonly="readonly" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all searchMaskInputElement searchMaskInputChoiceElement searchFieldChoiceDummyCssClass11" role="textbox" aria-disabled="false" aria-readonly="true">

使用css类@(.searchFieldChoiceDummyCssClass11)完成更新。但我真的不知道为什么最后的输入字段没有更新,而是之前的所有其他输入字段。

编辑:如果使用id而不是css类

完成更新,则会出现相同的行为

0 个答案:

没有答案