【问题标题】:PrimeFaces calendar has old value in onblur eventPrimeFaces 日历在 onblur 事件中具有旧值
【发布时间】:2014-01-07 15:59:57
【问题描述】:

我正在尝试通过以下方式将日历的值复制到 inputText 字段中(不要问我为什么):

<p:calendar id="cal" widgetVar="calWidget" 
    onblur="PF('inputWidget').val(PF('calWidget').val());"/>
<p:inputText id="text" widgetVar="inputWidget" />

我已经重写了 PF 函数,一切正常,问题是 inputText 获取之前选择的日期,即 inputText 总是落后一步。这是预期的行为吗?有人有什么建议吗?谢谢。

附:我也尝试了更简单的解决方案,同样的事情发生了:

onblur="PF('inputWidget').val(this.value);"

【问题讨论】:

    标签: javascript jquery jsf primefaces calendar


    【解决方案1】:

    使用dateSelect事件:

    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui">
    <h:head />
    <h:body>
        <h:form>
            <p:calendar value="#{myDate}">
                <p:ajax event="dateSelect" update="dateOutput" />
            </p:calendar>
            <p:inputText id="dateOutput" value="#{myDate}" />
        </h:form>
    </h:body>
    </html>
    

    【讨论】:

    • 好吧,不能说这不起作用,所以我当然会接受你的回答。我只是不确定为什么我不能在客户端轻松地做到这一点,比如 ondateselect。但我不得不承认我对在我的特定 案例中使用它并不满意,但这不是你关心的问题。 :) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多