Подтвердить что ты не робот

Как очистить текстовое поле для выбора даты в формате jQuery?

У нас есть элемент управления датами 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();
    });
4b9b3361

Ответ 1

Как исключить ключи, которые пользователь использует для очистки текстового поля, такого как 'del', 'backspace' и т.д.

$("#text-box").keypress(function (e)
{
  switch(e.keyCode) { 
          case 46:  // delete
          case 8:  // backspace
            break;
          default:
            e.preventDefault();
            break;
       }
});