【问题标题】:Enabling visibility to primefaces panel display启用 primefaces 面板显示的可见性
【发布时间】:2015-01-04 01:14:56
【问题描述】:

我是 primefaces 的新手,所以我可能犯了一个新手错误,但我根本无法在谷歌上找到我的答案。 单击复选框后,我正在尝试显示隐藏的面板,但未显示。

我的 html 如下所示:

<br></br> Choose one <br></br><br></br>

    <p:selectBooleanCheckbox onclick="$(‘#:testid’).css(‘display’,’visible’);" >                
    </p:selectBooleanCheckbox>

    <h:outputText value=" click " />      

</h:panelGrid>

<p:panel id="testid" header="TESTHDR" style="display:none"  >
    <h:panelGrid columns="2" cellpadding="10">

    <p:selectBooleanCheckbox value="#{selectBooleanView.mTest}">         
    </p:selectBooleanCheckbox>        

    <h:outputText value=" test " /> 

    </h:panelGrid>
</p:panel>

问题是我的 testid 面板在我点击复选框后没有显示。 我可能做错了复选框动作监听器,但老实说我自己看不到问题。

【问题讨论】:

    标签: html css primefaces visibility


    【解决方案1】:

    将显示可见更改为这样的显示块,因为 css 中不存在显示可见。

    <p:selectBooleanCheckbox onclick="$(‘#:testid’).css(‘display’,’block’);" >
    

    如果你的代码运行良好,我想就是这样。

    【讨论】:

    • 好吧,从面板中删除 style="display:none" 会显示我希望它在单击复选框后出现的方式,所以我认为代码可以正常工作。不幸的是,将显示更改为阻止没有帮助。
    【解决方案2】:

    Prime 面临类似于 ASP.NET 的破坏 ID。两者都确保 ID 在整个页面中是唯一的,因此您会得到类似 id="base_container_child_container_your_control_id"

    你应该找到“解开”它的方法。再次在 .NET 中,您可以从服务器获得 control.ClientID。不确定 PF 等效值。

    无论如何,解决方案是添加 name 属性并使用 $('input[name=your-id]') // 完全匹配 'your-id' $('input[name^=your-id]') // 匹配以 'your-id' 开头的那些,如果你有一组的话

    或者使用like selector id*='值'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-03
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多