【问题标题】:datepicker-ui click on date display popupdatepicker-ui 点击日期显示弹窗
【发布时间】:2014-03-22 01:54:01
【问题描述】:

我在 datepicker ui 日历中添加了一些事件(分配给一个 div,因此它始终可见),每个事件都有一个特定的标题。当点击任何这些特殊日期时,我想在当天上方显示一个带有事件标题的弹出窗口。

var Event = function(text, className) {
this.text = text;
this.className = className; };

var events = {};
events[new Date("02/07/2014")] = new Event("Event01", "highlight");

events[new Date("02/26/2014")] = new Event("Event02", "highlight");
events[new Date("02/27/2014")] = new Event("Event02", "highlight");



$("#datepicker").datepicker({
    beforeShowDay: function(date) {
        var event = events[date];
        if (event) {
            return [true, event.className, event.text];
        }
        else {
            return [true, '', ''];
        }
    }});

http://jsfiddle.net/saisoto/A5mew/

我认为它与 onSelect 有关,但我不知道如何将弹出窗口定位在日期上方。

我可以补充一点,我不希望在页面中弹出警报并让人们点击接受(或关闭)以让他们继续与页面交互

【问题讨论】:

    标签: jquery jquery-ui jquery-plugins datepicker jquery-ui-datepicker


    【解决方案1】:

    您可以使用onSelect,如果所选日期是特殊日期,则显示警报(或其他内容)。

    选择日期选择器时调用。该函数接收 选择日期作为文本,日期选择器实例作为参数。这 指关联的输入字段。

    代码:

    $("#datepicker").datepicker({
        beforeShowDay: function (date) {
            var event = events[date];
            if (event) {
                return [true, event.className, event.text];
            } else {
                return [true, '', ''];
            }
        },
        onSelect: function (date) {
            var event = events[new Date(date)];
            if (event) {
                alert(event.text)
            }
        }
    });
    

    演示:http://jsfiddle.net/IrvinDominin/ajMS6/

    【讨论】:

    • 起初我使用它,但看起来页面中存在某种错误,我不希望警报停止与页面的交互,直到您关闭它或接受它。顺便说一句,感谢您难以置信的快速响应。
    • @saisoto 欢迎您!所以你想显示一个非模式弹出窗口并让日历选择日期并关闭?或者在日期选择器附近的字段中显示事件文本?
    • 类似的东西,但是因为我的日历总是显示我想让那个 div 出现在点击日期的上方(就像一个对话地球)。定位给我带来了麻烦
    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2020-06-08
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多