我想改变rich的样式:simpleTogglePanel看起来像一个普通的链接。
此页面准确显示了我想要做什么以及我现在正在做什么。 我想做一些看起来与每个例子下面的“查看源代码”链接完全相同的内容。我正在使用的代码与“客户端交换机类型”示例中的代码相同:
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
The switching between showing and hiding the toggle panel content
performs on the client side.
</rich:simpleTogglePanel>
我的目标是在搜索栏下创建“高级搜索”链接。 该面板将包含高级搜索内容。 (额外的字段)
我正在使用JSF 1.2和Richfaces。
答案 0 :(得分:1)
我不确定我是否完全理解你的问题。有两种变体可以看到你的问题。
1
。将rich:simpleTogglePanel
下的内容设为可点击的链接。
为此,您可以尝试下面的代码。
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
<rich:dataGrid var="links" value="#{yourBean.linksList}" columns="6"
width="877px">
<h:commandLink actionListener="#{yourBean.someAction}">
</h:commandLink>
</rich:simpleTogglePanel>
2
。如果您希望将rich:simpleTogglePanel
标题显示为链接
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
<f:facet name="header" >
<h:panelGroup>
<h:outputText value="yourLinkName" styleClass="linkClass">
</h:outputText>
</h:panelGroup>
</rich:simpleTogglePanel>
<style type="text/css">
.linkClass{
text-decoration: underline;
}
</style>
答案 1 :(得分:1)
如果你想要一个盒子打开和关闭并轻松设置它,最好的方法是使用jQuery。由于RichFaces已经加载了jQuery,你可以按照以下方式执行:
<a href="#" onclick="jQuery('#content').toggle();return false;">Your link</a>
<div id="content" style="display: none">Your content</div>
当然你可以使用RichFaces组件,但你必须覆盖许多CSS类或禁用RichFaces外观,这将禁用每个组件的样式。
编辑:如果您未在视图中使用任何ajax组件,则必须强制RichFaces使用<a4j:loadScript src="resource://jquery.js"/>
加载jQuery库。
答案 2 :(得分:0)
如果你想让栏子消失,你必须覆盖默认的CSS并添加更多的你。
以下是代码,
<rich:simpleTogglePanel switchType="client" label="Client Switch Type" height="90px">
<f:facet name="closeMarker">
<h:panelGroup styleClass="open">
<h:outputText styleClass="yourClass" value="yourText"/>
</h:panelGroup>
</f:facet>
</rich:simpleTogglePanel>
<style type="text/css">
.open {
background-color: white;
}
</style>
您必须覆盖这些默认CSS才能实现其他影响。 rich-stglpanel,rich-stglpanel-header,rich-stglpnl-marker等。
答案 3 :(得分:0)
首先,谢谢你的答案!
我问了一种改变simpleTogglePanel的方法,所以它看起来像是上面提到的页面中的视图源链接,但我发现这是错误的方法。
我使用h:commandLink:
实现了我的目标<h:commandLink value="Advanced Search" action="#{MyBean.toggleHiddenPanel }" />
更改bean中布尔值的值,并使用呈现的属性显示/隐藏我需要的字段:
<h:panelGrid id="hiddenPanel" columns="4" >
<h:outputText value="date1:" rendered="#{MyBean.hiddenPanel}" />
<rich:calendar value="#{MyBean.date1}" rendered="#{MyBean.hiddenPanel}"
locale="US" popup="true" datePattern="d/M/yy HH:mm"
cellWidth="24px" cellHeight="22px" style="width:200px" />
<h:outputText value="date2:" rendered="#{MyBean.hiddenPanel}" />
<rich:calendar value="#{MyBean.date2}" locale="US" rendered="#{MyBean.hiddenPanel}"
popup="true" datePattern="d/M/yy HH:mm" cellWidth="24px"
cellHeight="22px" style="width:200px" />
<br />
<h:outputText value="Another field:" rendered="#{MyBean.hiddenPanel}" />
</h:panelGrid>
ps。:我更改了变量的名称,因为项目是保密的