Я хочу, чтобы пользователи могли изменять значение Datepicker пользовательского интерфейса Kendo только через свою кнопку и выбирать дату из всплывающего окна. Как я могу запретить пользователям вводить текстовое поле Datepicker? Могу ли я отключить текстовое поле, не отключая весь элемент управления?
Kendo UI Datepicker отключает ввод текста
Ответ 1
В элементе ввода добавьте этот атрибут и значение...
onkeydown="return false;"
Это отключит введенный ввод и по-прежнему позволит использовать элемент управления календарем.
Ответ 2
Используйте элемент управления, как показано ниже -
@(Html.Kendo().DatePicker()
.Name("FromDate")
.HtmlAttributes(onkeydown="javascript:return false;" })
)
Отключит клавиатуру. Точно так же можно обрабатывать и другие условия.
Ответ 3
Найдите свой элемент ввода и отключите его
$('#datepicker').attr('disabled','disabled');
(попробовал его на демо-сайте кендо http://demos.kendoui.com/web/datepicker/index.html)
Ответ 4
вы можете сделать это двумя способами.
//disable kendo ui datapicker click event
$(".k-datepicker input").bind('click dblclick',function () {
return false;
});
//make it readonly
$(".k-datepicker input").prop("readonly", true);
Ответ 5
Если вы хотите, чтобы пользователь не вводил дату в списке выбора даты и не выбирал только дату из всплывающего окна, попробуйте этот код
$(".k-datepicker").find('span').find('input').attr("readonly", "readonly");
Ответ 6
Конечно, виджет выбора даты и времени должен иметь возможность принудительно вводить ввод только с пользовательским интерфейсом, а не с клавиатуры... В противном случае это рецепт реального котирования DateTime! Я очень удивлен тем, что структура не обеспечивает ничего для этого очевидного варианта использования.
У меня была такая же потребность, и я получил ее для работы, используя следующую логику:
$("#date").kendoDatePicker({
format: "dd MMMM yyyy"
});
$("#date").attr("readonly","readonly");
Таким образом, пользователь не может ввести значение по клавиатуре и может вводить только хорошо сформированную дату, используя окно выбора даты выпадающего списка.
Ответ 7
Действительно, виджет не ограничивает пользователя во время ввода ввода. Причина такого поведения объясняется здесь: Почему виджет не ограничивает ввод текста
Наряду со всеми другими решениями, совместно используемыми в этом потоке, можно создать настраиваемый Masked DatePicker, который ограничит пользователя конкретным форматом даты. Для получения более подробной информации ознакомьтесь с этой практической демонстрацией:
** Обратите внимание, что это не поддерживается интерфейсом Kendo в качестве встроенной функции, поэтому вам нужно будет использовать его на свой страх и риск. Хорошей новостью является то, что он работает довольно хорошо без известных побочных эффектов.
Ответ 8
Используйте этот атрибут в текстовом поле вашей даты - onkeydown = "return false"
Ответ 9
Ответ Джастина работает, но он не препятствует тому, чтобы щелчок правой кнопкой мыши вставил неправильное значение. Вы можете использовать oncontextmenu
чтобы предотвратить щелчок правой кнопкой мыши
oncontextmenu="return false;"
Это также предотвратит копирование числа в календаре.
Ответ 10
.HtmlAttributes(new { onkeydown="return false" })