【问题标题】:Hide inputText on lost focus with p:inplace使用 p:inplace 隐藏失去焦点的 inputText
【发布时间】:2013-10-05 13:20:07
【问题描述】:

我的表格是这样的:

        <p:inplace>  
            <h:inputText id="description" value="#{cc.attrs.description}" /> 
        </p:inplace> 

当用户单击 p:inplace 的文本时,将显示 inputText 以编辑值。

当用户单击其他地方或控件自身失去焦点时,如何隐藏 inputText 或 p:inplace。

谢谢。

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    inputText 上使用blur 事件,将id 值传递给它:

    <p:inplace widgetVar="basic_#{cc.id}">
        <p:inputText value="#{cc.attrs.description}" id="description">
            <p:ajax event="blur" oncomplete="basic_#{cc.id}.hide();" />
        </p:inputText>
    </p:inplace>
    

    【讨论】:

    • 如果考虑到这是复合组件的一部分,因此可以在同一个视图中多次包含并因此可能导致widgetVar 名称中的冲突,这个答案会更好。解决方案是:在小部件 var 名称中包含一些独特的东西,例如 #{cc.id} 左右,例如 widgetVar="basic_#{cc.id}",并像 oncomplete="basic_#{cc.id}.hide()" 一样引用它。
    • @BalusC 真的!我什至没有看到它是一个复合...更新;-)
    猜你喜欢
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多