p:selectOneMenu,自定义内容和editable = true

时间:2013-02-20 12:47:34

标签: jsf primefaces selectonemenu

我有p:selectOneMenu的以下用法:

<p:selectOneMenu id="selectField"
    value="#{someBean.someField}"
    converter="#{selectItemConverter}" var="x" editable="true">
    <f:selectItems
        value="#{selectItemsBean.getSelectItems(tab, field)}" var="si"
        itemLabel="#{si.label}" itemValue="#{si}" />
    <p:column>
        <h:outputText value="#{si.label}" />
    </p:column>
    <p:column>
        <h:graphicImage library="images" name="noway_16x16.png"
            title="#{si.disabledReason}" rendered="#{si.disabled}" />
    </p:column>
    <p:ajax event="change" update="@form" partialSubmit="true" process="selectField" />
</p:selectOneMenu>

如您所见,我将自定义内容与editable=true结合使用。当我提交表单时,Converter会将所选项目的标签作为值,而不是实际值。在HTML页面中,值是正确的,例如<option value="C">C-style mounting</option>。使用editable=false时,会向转换器发送正确的值(例如C,转换器会editable=true检索C-style mounting

我想要的是用户可以选择列表中的一个预定义项目,服务器提交项目的值 OR 用户输入的内容并作为值提交。但目前的行为有点奇怪 - 或者我只是想要太多?

0 个答案:

没有答案