我有以下选择一个菜单。但是区分大小写并不适用。当我按小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;在框中。
我该怎么做?
答案 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>