如何为选定的日程日期添加背景颜色

3
如何在Primefaces的日程标签中为选定的日期添加背景颜色? 我已经使用了style,但它应用于整个日程的背景颜色。我想要为我的选定日期获取背景颜色,所以如果你们有任何想法,请分享。
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
3
您所寻找的样式类是:
ui-state-highlight
Primefaces文档解释了如何更改特定组件的样式: 在你的Facelet中:
<p:schedule styleClass="custom">
...
</p:schedule>

在你的css中:

.custom .ui-state-highlight {
    background: yellow !important;
}

更新1:

这里是一个完整的可用示例:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core"     
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Facelet Title</title>
        <style type="text/css">
            .custom .ui-state-highlight {
                background: yellow !important;
            }
        </style>
    </h:head>
    <h:body>
        <p:schedule styleClass="custom">
        </p:schedule>
    </h:body>
</html>

更新2:

基本上,PrimeFaces日程表中的一天是类似于这样的表格单元格:

<td class="fc-fri ui-widget-content fc-day19">
  <div>
    <div class="fc-day-number">18</div>
    <div class="fc-day-content">
      <div style="position:relative">&nbsp;</div>
    </div>
  </div>
</td>
请注意,表格单元格中有一个特殊的样式类fc-day19,其内容为18。 以下jQuery命令基于这个特殊类更改此单元格的背景颜色:
$(".fc-day19").css("backgroundColor","green");
这并不是你问题的完整解决方案,但这是一个可行的方法。您需要识别所需日期的表格单元,并相应地更改其样式(请注意,如果在jQuery中使用,css background-color 需要写成驼峰式的backgroundColor)。希望这可以帮到你。

请查看此链接:http://forum.primefaces.org/viewtopic.php?p=64420#p64420。这是代码和我得到的图片。我也尝试了您提供的代码,但由于这个原因,我无法在日程表中显示所选日期。 - Santosh
它对我有效。我更新了我的答案,并提供了完整的工作示例。 - Matt Handy
嘿,马特,谢谢你的帮助。现在我至少能够更改我的日期了,但是我无法将这个背景设置为我的所选日期...它只会转到默认的日期,而不是我的所选日期。 - Santosh
我不确定是否可能,因为没有专门的CSS类(当然,您可以以某种方式选择底层表格单元格)。或者,在服务器上为您的模型添加事件,当选择日期时以这种方式突出显示。 - Matt Handy
你看,我通过Schedule标签中的"initialDate"属性在日程表中显示了我的选定日期,那么是否有可能添加类似于".ui-state-highlight-initialDate{}"的内容呢? - Santosh
马特,你有没有什么建议可以突出显示我在日程中选择的日期? - Santosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,