ASP. NET MVC выдает ошибку «jQuery tDatePicker не является функцией» в консоли (Инструменты разработчика браузера) при загрузке представления - PullRequest
0 голосов
/ 01 апреля 2020

Я использую старую версию Telerik для ASP. NET MVC.

При загрузке вида ASP. NET MVC, который я видел в консоли (Developer Инструменты), которые выдают ошибку ниже:

jQuery tDatePicker не является функцией

Используя инструменты разработчика, я вижу строку кода, в которой выдается эта ошибка , Ниже строки:

jQuery('#FromDate').tDatePicker({format:'MM/dd/yyyy', minValue:new Date(1899,11,31), maxValue:new Date(2100,0,1), selectedValue:new Date(2020,0,1)});

Мой ASP. NET MVC вид имеет ниже включает в себя:

@using Telerik.Web.Mvc.UI;

<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap2-toggle.min.css" rel="stylesheet">
<script src="~/Scripts/jquery-1.9.1.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap2-toggle.js"></script>

Если я удаляю строки ниже:

@using Telerik.Web.Mvc.UI;
<script src="~/Scripts/jquery-1.9.1.js"></script>

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

bootstrap.js requires jquery-1.9.1 or higher

Я немного растерялся и не знаю, как столкнуться с такого рода ошибками. Некоторая помощь будет высоко оценена.

ОБНОВЛЕНИЕ : я зарегистрировал клиентскую библиотеку datepicker, как предложено здесь, используя синтаксис бритвы и введя строку ниже в моем _Layout.cs html, который находится в моей папке \ Views \ Shared (это главная страница, которую я использую во всех моих представлениях):

@ (Html .Telerik (). ScriptRegistrar (). DefaultGroup (group = > group.Add ("telerik.common. js"). Add ("telerik.datepicker. js")))

по ошибке продолжает появляться в консоли инструментов разработчика браузера (F12 ):

enter image description here

Кроме того, значки рядом с полями DatePicker никогда не отображаются, см. Ниже:

enter image description here

1 Ответ

0 голосов
/ 02 апреля 2020

Вы правильно зарегистрировались?
Зарегистрировать DatePicker клиентской библиотеки:

$(Html.Telerik().ScriptRegistrar().DefaultGroup(group =>
     group.Add("telerik.common.js").Add("telerik.datepicker.js")))

в вашем случае, конечно

jQuery(Html.Telerik().ScriptRegistrar().DefaultGroup(group =>
     group.Add("telerik.common.js").Add("telerik.datepicker.js")))

Еще одна возможность попробовать (как я не знаю, Ваша настройка) -
Примечание Идентификатор НЕ работает по неизвестной причине - imho никогда не исправлялся

@Html.Telerik().DatePickerFor(m => m.EffectiveDate).Name("FromDate");

и использовался так же, как для тестирования (!)

 var datepicker = jQuery('#FromDate').data('tDatePicker');
 datepicker.value(new Date('1/1/2020')); // After testing replace with below

если это сработает, вы можете реализовать свои форматы и min max таким же образом

 datepicker.format('MM/dd/yyyy');
 datepicker.minValue (new Date('1/1/1900')); 
 datepicker.maxValue(new Date('1/1/2100'));
 datepicker.selectedValue(new Date('1/1/2020'));
...