p:单击链接时,cellEditor不会保存textarea onblur

时间:2014-09-29 11:54:32

标签: jsf primefaces

在单元格外部单击时,将p:cellEditor > p:inputTextarea内的文本保存为onblur。 但是,当点击来自p:cellEditor > p:inputTextarea的链接(例如commandButton,commandLink)时,它不会事先执行p:ajax cellEdit事件。它改为执行点击的链接。

这是不正确的,因为它适用于没有p:inputTextarea的{​​{1}}。我意识到这可能是一个Primefaces错误。知道如何解决这个问题吗?

p:cellEditor

我将错误提交给Primefaces。但是有没有通过javascript / jQuery解决这个问题?

2 个答案:

答案 0 :(得分:1)

在Primefaces错误报告没有成功后,我最终将监听器直接挂接到所有p:cellEditor个实例。它似乎有效,我不再失去投入。

<p:cellEditor>
    <f:facet name="output">
      <h:outputText    value="#{model.text}" />
    </f:facet>
    <f:facet name="input">
      <p:inputTextarea value="#{model.text}">
      <!-- this is the relevant line -->
      <p:ajax listener="#{bean.onCellEdit}" global="false" update="@this" />
      <!-- end relevant line -->
      </p:inputTextarea>
    </f:facet>
</p:cellEditor>

答案 1 :(得分:0)

我做得很相似,但没有<p:cellEditor>。在那种对我不起作用的模式中。 但如果你只使用     

<p:column>
<p:selectBooleanCheckbox value="#{listElement.field1}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:selectBooleanCheckbox>
</p:column>
<p:column>
<p:inputTextarea value="#{listElement.field2}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:inputTextarea>
</p:column>
</p:dataTable>