Kendo UI datepicker несовместим с Chrome 56
После обновления Chrome до его последней версии 56.0.2924.76 (64-разрядная версия) наши датпикеры Kendo начали работать некорректно.
Все финалисты были привязаны с помощью ViewModels, и теперь они не отображают свои значения. Если мы проверим их, мы увидим, что значение установлено, но оно не показано.
Например:
- Использование нокаута js с ползунками jquery ui
- Knockout.js без контейнера «foreach» не работает с
- Уникальные идентификаторы в шаблонах knockout.js
- Можете ли вы вызвать ko.applyBindings, чтобы связать частичный просмотр?
- Возврат частичного просмотра и JSON из ASP.NET MVC Action
@(Html.Kendo().DatePicker() .Name("DateFrom") .Start(CalendarView.Month) .Depth(CalendarView.Month) .Format("MM/dd/yyyy") .HtmlAttributes(new { @id = "ClosingStartDate", @placeholder = "enter date from", @class = "masked-date" }))
Если я проведу этот элемент с помощью инструмента разработчика Chrome, у меня получится такой результат:
Но это так выглядит
Когда мы привязываем значение свойства к KnockOut, все финалисты работают нормально.
Наша версия Kendo: Kendo UI Complete v2012.2.913
Есть ли другой способ связать его? Что мы должны изменить с помощью Chrome v.56?
- knockoutjs: можно ли создать зависимую функцию Observable с параметром?
- интеграция диалога jquery ui с knockoutjs
- Получение «Запрос JSON был слишком большим для десериализации»
- Как использовать knockout.js с ASP.NET MVC ViewModels?
- Карта данных JSON для нокаута наблюдаемого массива с определенным видом типа модели
- KnockOutJS - Несколько режимов просмотра в одном представлении
- Добавление свойств в модель представления, созданных с помощью плагина отображения Jockout JS
- Загрузочный твиттер 3 Модаль с нокаутом
В настоящее время shell DatePicker отображает элемент INPUT типа «дата». Когда Kendo DatePicker инициализируется на клиенте, он изменяет тип ввода на «текст». Таким образом, мы избегаем встроенного рендеринга ввода «date». Если JavaScript отключен, то Kendo DatePicker не будет инициализирован, и вход может использоваться как собственный.
К сожалению, некоторые браузеры с встроенной поддержкой типа «дата» (в частности, Chrome) проверяют установленное значение и если он не в правильном формате (действительная полная дата, определенная в [RFC 3339]), то она игнорируется. На данный момент вы можете постоянно менять тип ввода на «текст» и избегать проблем, связанных с собственными входами:
@(Html.Kendo().DatePicker() .Name("datepicker") .Value("10/10/2011") .HtmlAttributes(new { type = "text" }))
Я просто добавляю атрибут type="text"
основанный на предположении в форуме кендо UI, и он работает для меня.
Вот ссылка: http://www.telerik.com/forums/date-field-not-rendering-correct-in-browsers-that-support-html-5
Я могу исправить это, добавив формат DatePicker (), попробуйте это
@(Html.Kendo().DatePicker() .Name("dateReturn") .Format("yyyy-MM-dd") .Value(DateTime.Today) .Min(DateTime.Today) ............... )