是否可能有p:selectOneMenu的占位符文本? [英] Is it possible to have a placeholder text for p:selectOneMenu?

查看:90
本文介绍了是否可能有p:selectOneMenu的占位符文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的问题几乎说明了一切.我想在selectOneMenu中有一个占位符文本,但我认为没有任何属性可以指定它.那么怎么可能有一个占位符?

My question pretty much says everything. I want to have a placeholder text in the selectOneMenu, but I don't think there is any attribute to specify it. So how is it possible to have a placeholder?

我尝试使用<p:watermark>,如下所示,但是没有用.

I tried using a <p:watermark> as shown below, but it did not work.

<p:selectOneMenu id="fooMenu">
    <f:selectItem itemLabel="foo" itemValue="foo"/>
    <f:selectItem itemLabel="goo" itemValue="goo"/>
</p:selectOneMenu>
<p:watermark value="Select" for="fooMenu"></p:watermark>

推荐答案

默认情况下,标准HTML <select>元素确实不支持它,因此JSF中也没有设置它的方法.

It's indeed by default not supported on standard HTML <select> element, so there's also nothing in JSF to set that.

但是,您可以在itemDisabled以及一些CSS和jQuery的帮助下模拟.

You can however simulate one with help of itemDisabled and a little bit of CSS and jQuery.

<p:selectOneMenu widgetVar="menu" styleClass="with-placeholder" panelStyleClass="hide-disabled" onchange="menu.jq.removeClass('with-placeholder')">
    <f:selectItem itemLabel="Select" itemDisabled="true" />
    <f:selectItem itemLabel="foo" itemValue="foo"/>
    <f:selectItem itemLabel="goo" itemValue="goo"/>
</p:selectOneMenu>

.ui-selectonemenu.with-placeholder .ui-selectonemenu-label {
    color: #ccc;
}
.ui-selectonemenu-panel.hide-disabled .ui-selectonemenu-list-item.ui-state-disabled {
    display: none;
}

这是一个视频演示.

这篇关于是否可能有p:selectOneMenu的占位符文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆