У нас есть элемент управления датами JQuery в текстовом поле только для чтения. Мы делаем текстовое поле только для чтения, чтобы пользователи не могли вводить свои собственные даты. Это отлично работает, но мы хотим предоставить пользователям возможность очистить содержимое текстового поля после того, как они выбрали дату.
Как вы можете это сделать? По-видимому, эта функциональность была встроена в элемент управления, но была удалена.
Примечание: мы отключили ввод в текстовое поле, используя:
$("#text-box").keypress(function (e)
{
e.preventDefault();
});
Обновление: я решил это с небольшим изменением выбранного ответа:
myTextBox.keydown(function(e){
if (e.keyCode == 46 || e.keyCode == 8) {
//Delete and backspace clear text
$(this).val(''); //Clear text
$(this).datepicker("hide"); //Hide the datepicker calendar if displayed
$(this).blur(); //aka "unfocus"
}
//Prevent user from manually entering in a date - have to use the datepicker box
e.preventDefault();
});