【问题标题】:disable date range in Joomla calendar在 Joomla 日历中禁用日期范围
【发布时间】:2012-02-20 12:45:40
【问题描述】:

我想禁用 joomla 日历中的日期范围。只能选择剩余天数。我不知道该怎么做。请帮忙。

例如如果我说 2012-2-20 到 2012-3-20,那么只能选择此范围内的天数,其他天数必须禁用(或不能选择)。

Joomla 日历文档 http://docs.joomla.org/API16:JHtml/calendar

【问题讨论】:

  • 这不是很容易,但是see this 需要一些相关代码。
  • @Fnatte 谢谢,我会检查一下。
  • 你想具体做什么?您最好为此编写一些自定义的东西。
  • @BrentFriar 我已经编辑了问题。
  • 好的,你想在哪里完成这个?这是在自定义组件或扩展中吗?在前端还是在后台管理?

标签: javascript jquery joomla joomla1.5 joomla1.7


【解决方案1】:

minDatemaxDate 设置为您的日期限制,即

$("#start_date").datepicker({
    dateFormat:'yy-mm-dd',
    showOn: 'button',
    buttonImageOnly: true,
    minDate: newmindate ,
    maxDate: newmaxdate 
});

设置变量newmindatenewmaxdate

【讨论】:

    【解决方案2】:

    我要做的是在 Javascript 中添加一些 sn-p 代码,只要您在该输入上有一个模糊事件,您就会检索该值,检查它是否是 > 2012-2-10 && < 2012-3-10,然后 如果不清除该输入的值。

    【讨论】:

      【解决方案3】:

      我在管理的几个 Joomla 网站上遇到了类似的问题。我已经在使用 jQuery,所以我决定使用 JQuery UI Datepicker,它具有易于使用的最小/最大日期功能。如果您已经在使用这些库,或者如果您愿意 1) 添加它们并且 2) 可能会破坏您的设计统一性,我会推荐它。

      【讨论】:

      • 是的,我尝试花很多时间使用 Joomla 日历但失败了。所以我不得不使用 JQuery UI Datepicker 来做到这一点,但仍然在思考并希望使用 joomla 日历来做同样的事情。
      • @Sara 如果你愿意,请告诉我...我也想在我的 Joomla 网站上使用本机解决方案。
      【解决方案4】:
      <div>
          <input name="StartDate" id="StartDate" type="text" readOnly="readonly" data-val-required="The From field is required." data-val="true" jQuery15106987620498322786="53"/>
          <input name="EndDate" id="EndDate" type="text" readOnly="readonly" data-val-required="The To field is required." data-val="true" jQuery15106987620498322786="54"/>
      </div>
      
      $(function () {
          var dates = $("#StartDate, #EndDate").datepicker({
              defaultDate: "+1w",
              changeMonth: true,
              changeYear: true,
              numberOfMonths: 1,
              minDate:0,
              dateFormat: 'dd/mm/yy',
              onSelect: function (selectedDate) {
                  var option = this.id == "StartDate" ? "minDate" : "maxDate",
                          instance = $(this).data("datepicker"),
                          date = $.datepicker.parseDate(
                              instance.settings.dateFormat ||
                              $.datepicker._defaults.dateFormat,
                              selectedDate, instance.settings);
                  dates.not(this).datepicker("option", option, date);
              }
      
          });
      });
      

      【讨论】:

        【解决方案5】:

        在您提出问题 3 年后,Joomla 中的日历字段仍然无法执行此操作。但是,您可以通过编辑文件media/system/js/calendar.js 并将this.minYearthis.maxYear 的值更改为您选择的值来设置最小年份和最大年份(但不是最小月份和最大月份)。

        【讨论】:

          猜你喜欢
          • 2012-06-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-07
          • 2012-08-28
          • 1970-01-01
          相关资源
          最近更新 更多