我有以下p:selectOneRadio:
<p:outputPanel id="customPanel">
<p:selectOneRadio id="customRadio" value="#{dyna.selecetedlist}" layout="grid" columns="1">
<c:forEach var="list" items="#{dyna.userlist}" varStatus="loop">
<f:selectItem itemEscaped="true" itemLabel="#{list.id.tbCode}" itemValue="#{list.id.tbCode}" />
</c:forEach>
<p:ajax update=":form1:tabexam,:form1:msg,:form1:colser" listener="#{dyna.updatecolumns}"/>
</p:selectOneRadio>
</p:outputPanel>会产生这样的结果:

我想要的是覆盖p:selectOneRadio的默认图标和布局。并将其渲染如下:

发布于 2014-02-11 22:47:30
要自定义图标,请覆盖页面上的.ui-radiobutton-icon (有一个更干净的选项,可以包含一个正确打包的css文件):
<style type="text/css">
.ui-radiobutton-icon{
background: url(imgs/icon.png) no-repeat; !important;
}
</style>编辑:覆盖
.ui-state-active类覆盖组件的默认选定样式上面列出的覆盖两个类的备注将影响该页面上的所有组件。在重写时,一定要使用自定义命名空间。举个例子
.my-custom-ns .ui-state-hover{
//css
}然后在组件定义中:
<p:selectOneRadio id="customRadio" value="#{dyna.selecetedlist}" styleClass="my-custom-ns" layout="grid" columns="1">
<c:forEach var="list" items="#{dyna.userlist}" varStatus="loop">
<f:selectItem itemEscaped="true" itemLabel="#{list.id.tbCode}" itemValue="#{list.id.tbCode}" />
</c:forEach>
<p:ajax update=":form1:tabexam,:form1:msg,:form1:colser" listener="#{dyna.updatecolumns}"/>
</p:selectOneRadio> https://stackoverflow.com/questions/21676850
复制相似问题