2013-03-08 2 views
0

У меня есть SuggestBox, вводя пользователем ввод и отображающий suggestions во всплывающем окне с использованием GWT.Предотвратить неправильный ввод пользователя в SuggestBox?

SuggestBox suggestBox = new SuggestBox(myData, new TextArea()); 

Как я могу запретить пользователю ставить символы в TextArea, для которых не существует никаких предложений?

Я думаю, что SuggestBox анализирует текст, который был помещен в TextArea, а затем отображает предложения. Но как я могу предотвратить символы, которые больше не соответствуют?

+0

Почему бы блокировать пользователю вводить и находить там не сравнится с его входом? – SSR

+2

'Предлагаем ', как следует из его названий, это _suggesting_ вещи; это не _combo box_. Это может быть сделано так, но, поверьте, есть так много ловушек, что легче начать с нуля, или использовать что-то вроде [GWT Chosen] (http://jdramaix.github.com/gwtchosen/) –

ответ

1

Если вам действительно нужно, что

TextArea area = new TextArea(); 
      area.addKeyDownHandler(new KeyDownHandler() { 

       @Override 
       public void onKeyDown(KeyDownEvent event) { 
        if(event.getNativeKeyCode()==13 ||....){//Add remaining key codes which you dont want.For example i added enter key which keycode is 13.Remove that and add your key codes there. 
         event.preventDefault(); 
       } 
       } 
      }); 

А потом

SuggestBox suggestBox = new SuggestBox(myData,area); 
+0

Это это хороший общий подход, так или иначе, я хочу только предотвратить определенные ключи/символы, если нет предложений. Таким образом, я не могу просто предотвратить кодовый ключ вообще, поскольку я, конечно, не хочу, чтобы какие-либо символы запускались. Только символы, которые должны соответствовать предложениям. Таким образом, раскрывающееся предложение предлагается, но не скрыто, потому что пользователь просто не может вводить какие-либо недопустимые символы. Но мне не хватает каких-либо идей о том, как достичь этого ... – membersound

+0

Я не знаю, насколько это дорого .. введите все ваши первые буквы предлагаемых элементов в списке, а затем проверьте, когда пользователь печатает. найденные в списке возвращаются в противном случае. –