如何从FullCalendar上的customButton动态更改文本?

时间:2017-10-23 04:13:05

标签: javascript button text dynamic fullcalendar

我无法弄清楚如何在初始化后更改customButton的文本。从下面的示例代码中,文本设置为" custom!"。但是我想动态地改变它?是否有一个jQuery方法调用,我可以实现这个?

$('#calendar').fullCalendar({
    customButtons: {
        myCustomButton: {
            text: 'custom!',
            click: function() {
                alert('clicked the custom button!');
            }
        }
    },
    header: {
        left: 'prev,next today myCustomButton',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    }
}); 

3 个答案:

答案 0 :(得分:2)

你已经差不多了。 The docs say在定义自定义按钮时,click参数为:

  

单击按钮时调用的回调函数。接受一个参数,一个jqueryEvent。

所以只需使用它,例如:

customButtons: {
    myCustomButton: {
        text: 'custom!',
        click: function() {
            $(this).text('Updated text!');
        }
    }
},

您可能想要传递一些动态数据,可能是关于当前显示的月份或周数等等。例如(这只是一个例子,也许你不需要这样的东西):

customButtons: {
    myCustomButton: {
        text: 'custom!',
        click: function() {
            var view = $('#calendar').fullCalendar('getView');
            $(this).text('First visible day is ' + view.start.format('YYYY-MM-DD'));
        }
    }
},

答案 1 :(得分:0)

在原版 JS 中:

customButtons: {
  showMore: {
    text: moreHoursTranslation,
    click: function (e) {
      if (this.classList.contains("more-hours")) {
        this.classList.remove("more-hours");
        this.innerText = moreHoursTranslation;
        this.closest(".fc").querySelector(".fc-view").style.height =
          "200px";
        this.closest(".fc").querySelector(".fc-view").style.overflow =
          "auto";
        return;
      }
      this.classList.add("more-hours");
      this.innerText = lessHoursTranslation;
      this.closest(".fc").querySelector(".fc-view").style.height = "auto";
      this.closest(".fc").querySelector(".fc-view").style.overflow = "auto";
    },
  },
},

答案 2 :(得分:-1)

您可以使用以下代码添加带事件绑定的按钮。

            builder.Register(c =>
            Fluently.Configure()
                .Database(DatabaseConfiguration)  // <-- Connection string 1
                .Mappings(AutoMapping.Configurations)
                .ExposeConfiguration(cfg => cfg.SetProperty("connection.isolation", "ReadCommitted"))
                .ExposeConfiguration(cfg => cfg.SetProperty(Environment.CommandTimeout, c.Resolve<IConfig>().SqlCommandTimeoutSeconds.ToString()))
                .BuildConfiguration())
            .SingleInstance();

            builder.Register(c =>
            Fluently.Configure()
                .Database(ReportingDatabaseConfiguration) // <-- Connection string 2
                .Mappings(AutoMapping.Configurations)
                .ExposeConfiguration(cfg => cfg.SetProperty("connection.isolation", "ReadCommitted"))
                .ExposeConfiguration(cfg => cfg.SetProperty(Environment.CommandTimeout, c.Resolve<IConfig>().SqlCommandTimeoutSeconds.ToString()))
                .BuildConfiguration())
            .SingleInstance();

  builder.Register(c =>
            c.Resolve<Configuration>()
                .BuildSessionFactory())
            .SingleInstance();

来自Bellow Link的参考资料。 Link