Язык JQuery datepicker (Локализация) Как переключаться между языками - Codeigniter 3 - PullRequest
0 голосов
/ 23 апреля 2019

23.04.2019),

Ребята, я пытаюсь установить местоположение для моего календаря Jquery UI, но это не работает.

Вот мои ссылки:

Заголовок Просмотр файла: header1.php

<head>  
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" type="text/css" href="<?php echo base_url("assets/testelib/jquery-ui.min.css"); ?>">

<script type="text/javascript" src="<?php echo base_url("assets/lib/jquery-3.3.1.min.js"); ?>"></script>

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/jquery-ui.min.js"); ?>"></script>

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/jquery-ui.js"); ?>"></script>

Это файлы примеров, используемые в онлайн-примере Jquery, который я скачал и пытаюсь сгенерировать результат. https://jqueryui.com/datepicker/

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/jquery-1.12.4.js"); ?>"></script>

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/jquery-ui-1.12.1.js"); ?>"></script>

Langues, загруженные прямо сейчас с: https://github.com/jquery/jquery-ui/tree/master/ui/i18n

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/i18n/datepicker-de.js"); ?>"></script>

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/i18n/datepicker-fr.js"); ?>"></script>

<script type="text/javascript" src="<?php echo base_url("assets/lib/datepicker/i18n/datepicker-pt-BR.js"); ?>"></script>
<head>

и файл VIEW: register1.php

<body>

<script>
$(function() {
    $("#datepicker").datepicker($.datepicker.regional["de"]);       
    // Event onChange
    $("#locale").on("change", function() {
    $("#datepicker").datepicker("option", $.datepicker.regional[$(this).val()]);
});
});
</script>

<p>Date: <input type="text" id="datepicker">&nbsp;
 <select id="locale">
<option value="de" selected="selected">Deutsch (German)</option>                
<option value="">English</option>
<option value="fr">French (Fran&ccedil;ais)</option>
<option value="pt-BR">Portugues BR</option>
</select></p>

<body/>

Что я делаю не так, пожалуйста? Календарь показывает только дату и т. Д. С языком по умолчанию (английский).

Заранее большое спасибо!

1 Ответ

0 голосов
/ 23 апреля 2019

Это было весело, не используя это раньше.

Я закончил переходить на https://jqueryui.com/download/ и взял версию 1.12.1 jquery со всем просто для развлечения позже ...

Итак, из этой загрузки я взял jquery.js и jquery-ui.min.js и поместил их в мою папку ресурсов (посмотрите пути, которые я использовал, но у вас все будет хорошо).

Мой тестовый файл просмотра - называйте его как хотите ...

<script src="<?= base_url('assets/datepicker/jquery.js'); ?>"></script>
<script src="<?= base_url('assets/datepicker/jquery-ui.min.js'); ?>"></script>

<script src="<?= base_url('assets/datepicker/datepicker-de.js'); ?>"></script>
<script src="<?= base_url('assets/datepicker/datepicker-fr.js'); ?>"></script>
<script src="<?= base_url('assets/datepicker/datepicker-pt-BR.js'); ?>"></script>


<p>Date: <input type="text" id="datepicker">&nbsp;
    <select id="locale">
        <option value="de" selected="selected">Deutsch (German)</option>
        <option value="en">English</option>
        <option value="fr">French (Fran&ccedil;ais)</option>
        <option value="pt-BR">Portugues BR</option>
    </select>
</p>

<script>
    let domDatePicker = $("#datepicker");
    $(function () {
        domDatePicker.datepicker(); // <<< it appears this needs to be called first.
        domDatePicker.datepicker("option", $.datepicker.regional["de"]);
        $("#locale").on("change", function () {
            console.log($(this).val());
            domDatePicker.datepicker("option", $.datepicker.regional[$(this).val()]);
        });
    });
</script>

К вашему сведению - я присваиваю элемент DOM переменной, а затем обращаюсь к нему ... отсюда и let domDatePicker = $("#datepicker");.

Из того, что я испытал (мои попытки), выяснилось, что вам нужно сначала инициализировать средство выбора даты. то есть domDatePicker.datepicker();, иначе ничего не появится, пока вы не сделаете выбор, который кажется странным, при использовании Google Chrome в Linux.

Во всяком случае, надежда, которая приближает вас к чему-то, что замечательно хорошо работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...