Как сделать так, чтобы указатель даты был виден? - PullRequest
0 голосов
/ 30 мая 2019

Я хочу, чтобы средство выбора даты было видимым и работало, когда я щелкаю по нему. Вот мой код, и я не знаю, почему он не работает

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Language" content="ru">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>The title</title>
        <link rel="stylesheet" type="text/css" media="print" href="css/print.css">
    <link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css">    
    <link rel="stylesheet" href="css/registration.css" type="text/css">    
    <link rel="stylesheet" href="materialize/materialize.min.css"/>
    <link rel="stylesheet" href="css/style.css"/>
    <link rel="stylesheet" href="materialize/icon.css" >

    <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui.min.js"></script>
    <script>$.widget.bridge('uitooltip', $.ui.tooltip);</script>
    <script src="materialize/materialize.min.js"></script>
    <script type="text/javascript" src="js/jquery.cookie.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
    <script type="text/javascript" src="js/menu.js"></script>
    <script type="text/javascript" src="js/lang.js"></script>
    <script type="text/javascript">
add_words({
    "not_be_empty": "Поле не должно быть пустым!",
    "filled_out_incorrectly": "Поле пустое или заполнено некорректно!"
});
</script><script type="text/javascript" src="js/jquery.ui.datepicker.js"></script><script type="text/javascript" src="js/jquery.inputmask.js"></script><script type="text/javascript" src="js/jquery.bind-first-0.1.min.js"></script><script type="text/javascript" src="js/phones_mask/jquery.inputmask-multi.js"></script><script type="text/javascript" src="js/registration.js"></script>  </head>
  <body>
<input type="text" name="birthday" value="" id="birthday" class="inputform" />

В моей регистрации.js у меня есть:

var params = {
        monthNames: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],
        monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'],
        dayNamesMin: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],
        dayNames: ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        yearRange: (year - 100) + ':' + year,
        firstDay: 1
    };
    $("#birthday").datepicker(params).keypress(function(event) {return false;});

Итак, когда я нажимаю на вход, добавляется класс hasDatepicker, но средство выбора даты не отображается. Пытался удалить класс из #birthday, но это не помогло

P. Извините за мой английский

1 Ответ

0 голосов
/ 11 июня 2019

Я не могу воспроизвести проблему на базовом примере:

$(function() {
  var Now = new Date();
  var year = Now.getFullYear();
  var params = {
    monthNames: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
    monthNamesShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
    dayNamesMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
    dayNames: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
    dateFormat: "yy-mm-dd",
    changeMonth: true,
    changeYear: true,
    yearRange: (year - 100) + ':' + year,
    firstDay: 1
  };
  $("#birthday").datepicker(params).keypress(function(event) {
    return false;
  });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Birthday: <input type="text" name="birthday" value="" id="birthday" class="inputform" /></p>

Этот код работает как положено. Я подозреваю, что существует конфликт с одним из следующих:

  • материализовать / materialize.min.js
  • JS / jquery.cookie.js
  • JS / main.js
  • JS / menu.js
  • JS / lang.js
  • JS / jquery.ui.datepicker.js
  • JS / jquery.inputmask.js
  • JS / jquery.bind-первых, 0.1.min.js
  • JS / phones_mask / jquery.inputmask-multi.js
  • JS / registration.js

Я бы посоветовал удалить все ненужное и добавить их обратно по одному, пока DatePicker не будет работать должным образом, а затем расследовать оттуда.

Надеюсь, это поможет.

...