我觉得这是一个简单的问题,但我所有的谷歌搜索和阅读都没有给出答案。话虽如此,我对 JSF(PF)还是很陌生。
无论如何,我正在使用PrimeFaces中的SelectCheckboxMenu组件,并且想知道如何在不需要单击打开它的情况下启动它“展开”或“打开”。
以下是最初渲染时的正常外观:
这是我希望它在最初渲染时的样子,而不使用鼠标单击来展开它:
我觉得这是一个简单的问题,但我所有的谷歌搜索和阅读都没有给出答案。话虽如此,我对 JSF(PF)还是很陌生。
无论如何,我正在使用PrimeFaces中的SelectCheckboxMenu组件,并且想知道如何在不需要单击打开它的情况下启动它“展开”或“打开”。
以下是最初渲染时的正常外观:
这是我希望它在最初渲染时的样子,而不使用鼠标单击来展开它:
一个简单的方法可以做到这一点:
<style>
.start-expended.ui-selectcheckboxmenu-panel
{
display: block;
}
</style>
<p:selectCheckboxMenu panelStyleClass="start-expended" label="Test">
<f:selectItem itemLabel="test" itemValue="test" />
</p:selectCheckboxMenu>
请注意panelStyleClass
仅用作独特选择器的属性,以防您有许多组件并且只想显示打开的特定组件。
您可以在页面加载时使用 jquery(它已经在 primefaces 中)。您可以使用下面的代码来显示所有 selectcheckbox 菜单面板,也可以将 $(".ui-selectcheckboxmenu-panel") 替换为 $('#WHATEVERTHEELEMENTIDIS') - 其中 WHATEVERTHEELEMENTIDIS 是其中面板的完整 ID组件
<script>
$(document).ready(function(){
$(".ui-selectcheckboxmenu-panel").show();
});
</script>
您可以为您的 p:selectCheckBoxMenu 定义一个 widgetVar 并调用 show();
另一个地方,打电话
xisWidget.show();