2009-06-23 32 views
0

我实际上使用h:selectOneRadio来显示来自f:selectItems标签的项目。如何在h:selectOneRadio组件中个性化项目显示?

我不想显示文本,而想显示图像。

这怎么可能,因为那里我还没有找到任何方式来呈现来自selectItem“value”属性的html?

谢谢,这是我当前的代码,没有任何图像显示...

<h:selectOneRadio layout="spread" value="#{question.candidateAnswer.value}" 
    disabledClass="invalid_choice" enabledClass="valid_choice" > 

    <a:support event="onchange" actionListener="#{answerManager.answer}" 
     reRender="zoneQuestions, zoneNavigation, zoneScenariiList, zoneCart" /> 

    <f:selectItems value="#{question.choices}" /> 

</h:selectOneRadio> 

感谢

回答

0

所有h:selectOneMenu确实是渲染HTML选择输入。这不能显示图像。

您将需要一个自定义组件。你可以将Richfaces下拉菜单的样式设置为像select输入一样工作,但是你可能更适合使用these jQuery plugins to enhance your combo boxes

+0

Okey,很高兴知道,绝对没有办法用原始h:selectOneMenu显示图像。 正如你所说,一个自定义组件是一个什么样的解决方案。 我所做的是扩展RadioRenderer类,覆盖renderOption(..)方法,并向选项表示中请求另一个xml元素(img),并使用SelectItem.getDescription()来包含图像url。 有点棘手,但现在工作。 – ipingu 2009-06-24 15:43:11

相关问题