【问题标题】:How do I highlight a specific event on fullcalendar v.3.1 js/c# retrieved by gotodate function?如何突出显示由 gotodate 函数检索的 fullcalendar v.3.1 js/c# 上的特定事件?
【发布时间】:2021-08-25 11:09:45
【问题描述】:

在使用 gotodate 函数定位一周后,我想为单个事件着色。我尝试了以下代码,但它不起作用

$(document).ready(function () {
/*var event_list = $('#event_list');*//*gil70l*/
    //$(document).ready(function () {
    //
    $("#btnsearch").click(function () {
        var res = $("#txtSearch").val();
        res = res.substring(0,19);
        date = moment(res, "DD/MM/YYYY HH:mm");
        $("#calendar").fullCalendar('gotoDate', date);
             
        $('.fc-event-dot[data-date="' + date.format("YYYY-MM-DD HH:mm:ss") + '"]').css('background-color', '#a31a5c');
    }),

更新:这是搜索功能

<script type="text/javascript">
        $(function () {
            $("[id$=txtSearch]").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: '<%=ResolveUrl("~/Default.aspx/GetEvent") %>',
                    data: "{ 'prefix': '" + request.term + "'}",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                label: item.split('|')[0],
                                val: item.split('|')[1]
                                
                            }
                        }))
                    },
                    error: function (response) {
                     //   alert(response.responseText);
                    },
                    failure: function (response) {
                        alert(response.responseText);
                    }
                });
            },

【问题讨论】:

  • 您建议如何识别要突出显示的特定事件?要求不明确。一天很容易包含多个事件。
  • Thx,Adyson,我更新了帖子,不知道我是否回答了你的问题
  • 那么具体的流程是什么?您在搜索中输入日期,然后自动完成功能会返回当天可能发生的事件列表,您必须选择一个……对吗?因此,一旦用户选择了事件 ID,您就会知道它。这与我刚刚评论的您的other question 有关吗?看起来他们可能都在解决同一个问题的不同部分?

标签: javascript html jquery fullcalendar fullcalendar-3


【解决方案1】:

应该这样做。
现在具体日期突出显示。

$('#calendar').fullCalendar();
$('#d').click(function() {
  var s = $('#s').val();
  date = moment(s).format();
  $("#calendar").fullCalendar('gotoDate', date);
  $('#calendar').fullCalendar('select', date);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://momentjs.com/downloads/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.2.0/fullcalendar.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.css" rel="stylesheet" />


<!-- e.g. 2021-12-02 -->


<span>Serach</span>
<input type="text" id="s" />
<span>
  <button type="text" id="d">Date
  </button></span>
<div id='calendar'></div>

【讨论】:

  • 谢谢,但有了这段代码,我不会在活动中改变颜色
  • 更新了我的代码示例。现在所选内容突出显示。请投票或检查答案,这样我会得到一些积分。 THX
  • 对不起,但是您的代码突出显示了比单个事件更大的范围,并且还打开了添加事件弹出窗口,这不是所需的行为
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多