Автозавершение не работает должным образом ASP.NET jquery
Я написал код jquery для автозаполнения в текстовом поле с событием onkeypress, он работает правильно, пока текстовое поле пусто, но когда я использую ctrl+a или shift+tab и набираю для поиска какую-то вещь, он добавляет старые данные, которые приводят к неправильному поиску
например, если я ищу "1" в текстовом поле, он показывает список всех записей с 1, но предположим, что я нажал ctrl+a или shift+tab и ввел "2", он показывает список "12" вместо "2"
Что я уже пробовал:
<asp:TextBox ID="txtDrg" onkeypress="SearchText('DRG',this,event);" runat="server" ></asp:TextBox> function SearchText(searchType, searchKey, event) { if (searchType != '' && searchKey != '') { var x = event.which || event.keyCode; var searchKeyWord = ''; if (searchType == 'DRG') { if (x == 8 || x == 46) { if (searchKey.value.length > 0) { searchKeyWord = searchKey.value.toString().slice(0, -1); } } else { if (x == 110 || x == 190) searchKeyWord = '.'; else searchKeyWord = String.fromCharCode(x); if (searchKey.value != '' || searchKey.value != undefined) searchKeyWord = searchKey.value + searchKeyWord; } if (valiadte) GetAutoData(searchType, searchKeyWord); } } } function GetAutoData() { //code }
Sinisa Hajnal
Исключите управляющие клавиши из вашего события, чтобы оно не вызывало SearchText, когда вы нажимаете Ctrl, Tab, Alt или что-то еще. Может помочь. Я признаю, что не являюсь экспертом по html-событиям, если onkeypress уже игнорирует их, игнорируйте этот комментарий :)