<p:selectonemenu casesensitive =“true”>似乎没有任何效果

时间:2015-09-09 10:37:30

标签: jsf primefaces selectonemenu

我有以下选择一个菜单。但是区分大小写并不适用。当我按小a或大写A时,它总是显示小a(以先发生者为准)。

        <p:selectOneMenu id="tempSelect" caseSensitive="true">
                        <f:selectItem itemLabel="0" itemValue="0"/>
                        <f:selectItem itemLabel="a" itemValue="a"/>
                        <f:selectItem itemLabel="A" itemValue="A"/>
                        <f:selectItem itemLabel="b" itemValue="b"/>
        </p:selectOneMenu>

我的主要版本是5.2。

当选择框处于焦点时。我按下字母&#34; a&#34;或者我按下大写字母&#34; A&#34; ,在这两种情况下,它只显示&#34; a&#34;在框中(因为它首先出现在列表中)。这是实际行为。

我的预期行为是当我按下&#34; a&#34;它把&#34; a&#34;当我按下&#34; A&#34;它把&#34; A&#34;在框中。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

虽然不是完美的解决方案,但您可以使用此解决方法。 使用过滤器。通过这种方式,您还需要一次“点击”,但它可以正常工作。

<p:selectOneMenu id="tempSelect" caseSensitive="true" filter="true" filterMatchMode="startsWith"> <f:selectItem itemLabel="0" itemValue="0"/> <f:selectItem itemLabel="a" itemValue="a"/> <f:selectItem itemLabel="A" itemValue="A"/> <f:selectItem itemLabel="b" itemValue="b"/> </p:selectOneMenu>