当 inputText 失去焦点时,cellEditor 中的 inputText 更新表单

inputText inside a cellEditor update the form when the inputText lost the focus

cellEditor 中的 inputText 在 inputText 失去焦点时更新表单,我需要在按下 ENTER 键时更新表单

<p:dataTable editable="true" editMode="cell" rowKey="#{invoice.key}"
selection="#{invoiceBB.invoiceSelected}" selectionMode="single"
value="#{invoiceBB.listaDetalleinvoice}" var="invoice">
    <p:column>
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{invoice.price}">
                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2"
                        type="number" />
                </h:outputText>
            </f:facet>
            <f:facet name="input">
                <p:inputText
                    onkeypress="if (event.keyCode == 13) {onchange(); return false;}"
                    style="width: 500px !important;" value="#{invoice.price}">
                    <p:ajax event="change"
                        listener="#{invoiceBB.updatePrice}"
                        update="@form" />
                </p:inputText>
            </f:facet>
        </p:cellEditor>
    </p:column>
</p:dataTable>

但是如果我将 inputText 放在数据表之外,当我按下 ENTER 按钮时它会正确更新表单

<p:inputText
    onkeypress="if (event.keyCode == 13) {onchange(); return false;}"
    style="width: 500px !important;" value="#{invoice.price}">
    <p:ajax event="change"
        listener="#{invoiceBB.updatePrice}"
        update="@form" />
</p:inputText>

当 inputText 位于 cellEditor 中时,是否有解决此问题的方法?

对不起我的错。

<script type="text/javascript">
$(document).on("keydown", ".ui-cell-editor-input input", function(event) {
    if (event.keyCode == 13) {
        someName(); 
    }
});
</script>
   <p:remoteCommand name="someName" process="@this" update="@form" actionListener="#{invoiceBB.updatePrice}"/>