我在“keyup”上查询一个websql表,所以它返回查询字符串前10个匹配项的列表,我把这个搜索字符串保存在一个名为currval
的变量中,我将其传递给查询字符串
当我的结果集等于1行时,即完全匹配时,我得到以下错误:
Uncaught IndexSizeError:无法在'SQLResultSetRowList'上执行'item':提供的索引(1)大于或等于最大边界(1)。
我的表格如下:
id | name
并包含2500行。
继承人查询:
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 :(得分:0)
不应该
...
for (var i = 0; i < Math.max(len, 10); i++) {
否则如果结果数小于10,则在尝试访问不存在的项时会出错。