【问题标题】:jquery datepicker selects todayjquery datepicker 选择今天
【发布时间】:2011-08-19 08:24:22
【问题描述】:

“我使用带有 onSelect 回调函数的内联 JQuery UI 日期选择器。此函数在数组中收集多个日期的选定日期。我的问题是 datepicker 在启动时调用此函数并选择今天,并将其添加到我的数组中。如何禁用此行为?我不需要知道今天是哪一天,也不想自动将其添加到我的数组中...
提前感谢您的帮助!

编辑:这是我的(非常简单的)onSelect 回调:

var blocked_days = new Array([..]);
function updateSelected(dateText)
{
    var toAdd = true;
    for (var i in blocked_days)
    {
        if (dateText == blocked_days[i])
        {
            blocked_days[i] = null;
            toAdd = false;
        }
    }
    if (toAdd === true)
        blocked_days[blocked_days.length] = dateText;

    $("#special_offer_blocked_form_blockeddays").val(blocked_days.join());
}

【问题讨论】:

  • 顺便说一句,如果重要的话,它是最近的 1.8.15 jquery ui

标签: jquery date callback datepicker


【解决方案1】:

你有 onSelect 回调函数的代码吗?

一种解决方法是更新回调函数,检查日期是否不是今天。如果不是,则添加日期。

如果您可以提供您的 onSelect 代码示例,我将非常乐意查看并添加此代码?

更新:

然后你可以做的是在每次调用函数时设置一个简单的计数器,总是忽略第一次调用。

var number_of_updates = 0;
var blocked_days = new Array([..]);
function updateSelected(dateText)
{
    number_of_updates++;
    if (number_of_updates > 1)
    {
        var toAdd = true;
        for (var i in blocked_days)
        {
            if (dateText == blocked_days[i])
            {
                blocked_days[i] = null;
                toAdd = false;
            }
        }
        if (toAdd === true)
            blocked_days[blocked_days.length] = dateText;
        $("#special_offer_blocked_form_blockeddays").val(blocked_days.join());
    }
}

试试看是否有效?

【讨论】:

  • 这不是一个好的解决方案,我想让用户选择今天。问题是它在启动时自动选择,这就是我想要禁用的。
  • 是的,这可能应该有效,但我没有这样做。由于其他原因,我已经制作了 datepicker js 的自定义副本,因此对其进行了更深入的修改并修改为不在启动时调用 _setdate。这样我就有了来自数据库的唯一默认值,这就是我想要的。我知道它有点难看,以后不能正常升级 jquery ui,但是整个项目都在 Diem 中,这很依赖它捆绑的 jquery,所以可能不会很快升级......无论如何感谢您的帮助。干杯
猜你喜欢
  • 2012-04-14
  • 2015-12-03
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多