【问题标题】:Primefaces SelectOneMenu with same item valuesPrimefaces SelectOneMenu 具有相同的项目值
【发布时间】:2015-03-16 07:33:55
【问题描述】:

我有一个具有两倍相同值的 selectOneMenu。当我选择项目“一”然后尝试更改为项目“二”时,没有任何反应。我知道这些值是相同的,但我希望显示正确的标签。

<p:selectOneMenu value="#{myBean.selectedValue}">  
    <f:selectItem itemLabel="One" itemValue="1" />
    <f:selectItem itemLabel="Two" itemValue="1" />
    <f:selectItem itemLabel="Three" itemValue="3" />
</p:selectOneMenu>

但如果我选择“三”,它就可以正常工作。标签发生变化。

我使用 Wildfly 8.2 和 PF v5.1.13

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    抱歉,这是不可能的,而且是非常非常罕见的用例

    Html 旨在在选择中具有唯一值...想想看,如果您预先选择了“1”,例如一个数据库,应该显示哪个标签? '一'?还是“二”?非唯一标签适用于服务器,但这会让客户端感到困惑。所以拥有两个“独特”并不奇怪

    【讨论】:

    • 用例是客户创建的动态选择项。他配置信用卡类型及其对应的帐户。他有多种信用卡类型(Visa、万事达卡……),所有付款都在同一个帐户中预订。
    • XY 问题... ui 不负责这个,业务逻辑负责。在服务器端创建一个映射,将单个唯一值从一个选择映射到一个公共帐户 ID
    • 您甚至可以使用以所选项目的索引为键的数组列表
    • 我想知道为什么 GUI 会有这样的反应,但我接受你的回答。谢谢你:)
    • 嗯...因为 html 被设计为在选择中具有唯一值...想想看,如果您从例如预选“1”一个数据库,应该显示哪个标签? '一'?还是“二”?非唯一标签适用于服务器,但这会让客户端感到困惑。所以拥有两个“独特”并不奇怪
    猜你喜欢
    • 2013-01-20
    • 2013-10-24
    • 2015-04-28
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多