2013-08-22 1 views
1

У меня есть функция, которая слушает событие нажатия клавиши enter на textbox. Если он нажат, функция останавливает передачу события, а затем отправляет на сервер содержимое command.JQuery Autocomplete: Введите ключевые конфликты с другой функцией

function(command) 
{ 
      if(EnterIsPressed) 
      { 
        event.stopPropogation(); 
        command.sendToServer(); 
      } 

} 

Проблема возникает, когда я использую jquery autocomplete в моем коде. Предположим, что я ввожу что-то в текстовое поле, и появляются подсказки автозаполнения. Я выбираю один из подсказок и нажимаю enter. Я хочу, чтобы значение textbox было заменено выбранным подсказкой, когда я нажимаю enter. И когда я нажимаю следующий ввод, значение должно быть отправлено на сервер. Но этого не происходит. Когда я выбираю значение и нажимаю Enter, значение напрямую захватывается указанной функцией и отправляется на сервер. Есть ли способ справиться с этим конфликтом?

ответ

1

Это не решение, но подход:

if(EnterIsPressed) 
{ 
    if (textbox has some value) { 
     event.stopPropogation(); 
     command.sendToServer(); 
    } else { 
     //select the autosuggest value 
     //fill the textbox with value 
    } 
} 
+0

Это будет работать, но, когда я что-то типа в текстовом поле, он всегда будет иметь какое-то значение, независимо от того, Ive выбрали подсказку или нет. Так опять же проблема. – Aneesh

+1

Спасибо, это помогло мне. Вместо этого я использовал флаг, но этот подход был полезен. – Aneesh

Смежные вопросы