Клавиша возврата комбинированного списка или клавиша удаления не удаляет выделенный текст - PullRequest
0 голосов
/ 26 марта 2010

Контекст:
Я использую комбинированный список авто-предложений с гибкой системой, поскольку пользователь вводит каждый символ: рассмотрим строку 'Stackoverflow' и пользовательский ввод = 'st'

1) поставщик данных фильтруется, чтобы показать все элементы, начинающиеся с 'st' 2) для текста задана строка с предложением автоматически, так что нетипизированная часть выделяется.

Так, например, текст в поле со списком может содержать st'ackoverflow ', где' ackoverflow 'выделяется с помощью setSelectedIndex ()

Проблема:
Когда я нажимаю клавишу «Назад» или удаляю и проверяю значение «this.text», я ожидаю, что последний неотмеченный символ («t» в приведенном выше случае) будет удален, а поставщик данных отфильтрован для отображения всех элементов, с 's'. Однако свойство text содержит 'st', как и раньше

Вопрос:
что мне не хватает? Что еще я могу попробовать?

Ответы [ 2 ]

0 голосов
/ 29 марта 2010

Вот как это было реализовано: прослушайте событие клавиши Backspace и установите логический флаг. Затем в обработчике изменения списка прочитайте логический флаг и установите для this.text то, что вы хотите (то есть), с удалением 1 символа после начала выделения. Обратите внимание, что вы не можете сразу установить this.text в обработчике возврата, потому что обработчик возврата текстового ввода сбросит то, что мы установили.

0 голосов
/ 26 марта 2010

Я понял, что мое предположение было неверным - когда я нажимаю клавишу Backspace, выделенная часть текста должна исчезнуть - мне нужно выполнить некоторую дополнительную обработку, чтобы в начале убрать один дополнительный символ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...