2014-09-16 2 views
1

Я запрашиваю таблицу websql в «keyup», поэтому он возвращает список первых 10 совпадений строки, я держу эту строку поиска в переменной с именем currval, которую я передаю строка запроса.Uncaught IndexSizeError при запросе таблицы websql

При установке мои результаты равны 1 ряд, то есть точное совпадение я получаю следующую ошибку:

Uncaught IndexSizeError: Не удалось выполнить «элемент» на «SQLResultSetRowList»: Индекс при условии (1) больше чем или равна максимальной границе (1).

Моя таблица выглядит следующим образом:

id | name 

и содержит 2500 строк.

Heres запрос:

tx.executeSql("SELECT * FROM classes WHERE name LIKE '"+currval+"%' ", 
[], function (tx, results) { 
     var len = results.rows.length; 
     for (var i = 0; i < 10; i++) { 
      var item = results.rows.item(i); 
      var name = item.name; 

      $('#classnameresults').append('<li class="classnameitem">'+name+'</li>'); 
     } 

}); 

ответ

0

не должно быть, что

... 
for (var i = 0; i < Math.max(len, 10); i++) { 

в противном случае, если количество результатов меньше 10, это даст ошибку при попытке доступа к несуществующему пункт ,

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