首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery数据报警器在与日历交互之前显示错误的语言

jQuery数据报警器在与日历交互之前显示错误的语言
EN

Stack Overflow用户
提问于 2021-03-23 08:09:44
回答 1查看 373关注 0票数 0

在一个完全自定义的Wordpress页面中,使用Woody代码片段插件编写成PHP片段,我需要使用jQuery数据报警器来选择日期。

我正确地导入了必要的文件,并且正确地调用和设置了数据报警器。昨天,我把数据报警器附加到一个隐藏的输入字段上,这样当我点击一个图标时,日历就会浮起,一切都很好,甚至是本地化,尽管我没有为日历的本地化(导入i18n文件等)采取任何措施……

今天,我不得不稍微改变页面的布局,所以我不得不从一开始就做日历显示(内联)。根据演示页面,为了将数据报警器内联,您所要做的就是将它附加到div,而不是输入字段。

数据报警器确实变成了内联元素,但是本地化却消失了.最初的语言是英语,直到我以任何方式与日历互动(来回一个月,或者选择一个日期,等等)。一旦我这样做,本地化就变成了我网站的语言!

更疯狂的是,即使在我专门导入并设置了本地化之后,这种情况仍在继续。

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha512-uto9mlQzrs59VwILcLiRYeLKPPbS/bT71da/OEBYEwcdNUk8jYIy+D176RYoop1Da+f9mvkYrmj5MCLZWEtQuA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/i18n/jquery-ui-i18n.min.js" integrity="sha512-zZ27MiE6yuwkKbHnJ/7ATQF/7l+Jwk5jSxgmLJ1SS5QJexaYswmP3OKBPDVMfM8TlSOudAKHTWH2UtS+0LDddw==" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
    $('#frontpages-date-filter').datepicker($.extend({},
        $.datepicker.regional['el'], {
            dateFormat: 'yymmdd',
            minDate: new Date({$min['y']}, {$min['m']}, {$min['d']}),
            maxDate: new Date({$max['y']}, {$max['m']}, {$max['d']}),
            onSelect: function(dateText) {
                window.location.href = location.protocol + '//' + location.host + location.pathname + '?date=' + dateText;
            }
        }
    ));
});
</script>

在下面的JSFiddle中,完全相同的代码从一开始就运行良好

从我到目前为止搜索的内容来看,它很可能与WP v4.6+有关,在那里本地化会自动添加到jQuery中,但是无论我尝试了什么,我都无法使内联数据报头负载本地化,而不必以任何方式与它交互!

顺便说一句,我注意到了完全相同的行为,甚至还为ACF的开发人员录制了一个简短的视频,认为它与他们的插件有关,但是他们的反应并不是因为他们的插件,所以因为它在Admin方面,我没有浪费时间来进一步调试它。但这一次,页面是在公共方面,所以它必须被修复!

任何帮助都将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-04 16:01:57

这一定是我网站上的冲突。TBH,我无法发现冲突,但我能够通过在datepicker启动之前设置必要的lang字符串来规避冲突,如下所示:

代码语言:javascript
复制
$(function() {
    $.datepicker.regional['el'] = {
        closeText: 'Κλείσιμο',
        prevText: 'Προηγούμενος',
        nextText: 'Επόμενος',
        currentText: 'Σήμερα',
        monthNames: ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'],
        monthNamesShort: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαι', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'],
        dayNames: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'],
        dayNamesShort: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'],
        dayNamesMin: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'],
        weekHeader: 'Εβδ',
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };

    $.datepicker.setDefaults($.datepicker.regional['el']);


    $('#frontpages-date-filter').datepicker();

}); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66759344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档