【问题标题】:jQuery datepicker plugin doesn't work in Chrome and SafarijQuery datepicker 插件在 Chrome 和 Safari 中不起作用
【发布时间】:2013-02-20 09:00:42
【问题描述】:

我正在使用特定的 jquery datepicker vidget (http://keith-wood.name/datepick.html)。对特定日历(泰语)的支持是原因。将新的日期选择器应用于现有的逻辑我遇到了这个问题。选择器在 Chrome 和 Safari 浏览器中无法打开(不会出现弹出窗口),但在 IE8 和 Firefox 中运行良好。 经过一番调查,我想到附件主题html标签是原因。它写在对它应该附加到的插件的引用中,和标签。我将它附加到标签上。 代码来了:

<script type="text/javascript" src="../jquery.calendars.js?v=$version"></script>
<script type="text/javascript" src="../jquery.calendars.plus.js?v=$version"></script>
<script type="text/javascript" src="../jquery.calendars.picker.js?v=$version"></script>
<script type="text/javascript" src="../jquery.calendars.thai.js?v=$version"></script>

jQuery(function() {
            jQuery('#deactivation_date').calendarsPicker({
                changeMonth: false, 
                showOtherMonths: true, 
                selectOtherMonths: true,
                showAnim: '',
                dateFormat: _dateFormat,
                calendar: jQuery.calendars.instance(_userLanguageCode == 'th' ? 'thai' : '', 'en'),
                alignment: 'bottom',
                renderer: jQuery.extend({}, jQuery.calendars.picker.defaultRenderer,
                    {
                        picker: jQuery.calendars.picker.defaultRenderer.picker.
                        replace(/\{link:prev\}/, '{link:prevJump}{link:prev}').
                        replace(/\{link:next\}/, '{link:nextJump}{link:next}').
                        replace(/\{link:clear\}/, '').
                        replace(/\{link:close\}/, '')
                    }),
                onSelect: function(dates){

                        }
                    }
            });
        });

...

<a href="javascript:void(0)" class="date-pick no-left-padding" id = "deactivation_date">
   "DateText" </a>

进一步调查使我认为在 Chrome 中没有正确附加适当的事件处理程序,因为调试器甚至没有进入“显示”功能。这可能是小部件在 Chrome 和 Safari 中失败的部分:

var trigger = inst.get('showTrigger');
inst.trigger = (!trigger ? $([]) :
        $(trigger).clone().addClass(this._triggerClass)
        [inst.get('isRTL') ? 'insertBefore' : 'insertAfter'](target).
            click(function() {
            if (!$.calendars.picker.isDisabled(target[0])) {
                $.calendars.picker[$.calendars.picker.curInst == inst ?
                    'hide' : 'show'](target[0]);
            }
        }));

有一个变体可以将所有日期选择器重新附加到不同的标签,但是对于 div/span 将执行内联渲染,并且输入看起来根本不像文本。

如果有的话,请分享你的想法...

提前致谢

jQuery datepicker 目前似乎不支持非公历: http://bugs.jqueryui.com/ticket/5789 不是吗?

【问题讨论】:

    标签: jquery google-chrome safari datepicker


    【解决方案1】:

    可能并不完全是您问题的答案,而是解决您问题的提示。

    为什么不使用标准 JQuery UI 日历和您可以找到 here 的全球化文件?

    【讨论】:

    • 经过一番调查,我仍然怀疑它是否支持本地日历。但我刚刚看到这篇文章:stackoverflow.com/questions/3297652/…。所以我会试试。谢谢,毛罗
    • 亲爱的godspeed 我不是泰国日历的大专家对不起!这只是一年的抵消吗?
    • 是的。偏移量为 543 年。闰年也有一些魔力,但我刚刚测试了 keith-wood 插件,它似乎并没有阻止显示 2 月 29 日。
    猜你喜欢
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    相关资源
    最近更新 更多