Я использую jquery.autocomplete.js и следующий JS:
$("#Search").autocomplete("/uk/Search/AutoComplete",
{
dataType: 'json',
parse: function (data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].Tag, result: data[i].Tag };
}
return rows;
}, max: 20,
formatItem: function (row, i, max) {
return row.Tag;
},
width: 300,
minChars: 4,
highlight: false,
multiple: false
});
Все это прекрасно работает, и я вижу, что существует серверный обходпроисходит, и результат, который я ожидаю, находится в переменной data
.
Проблема, с которой я столкнулся, заключается в том, что я вижу в консоли ошибок Firefox, что есть ошибка, сообщающая s is undefined
.
Ошибка на следующем:
$.Autocompleter.Cache = function(options) {
var data = {};
var length = 0;
function matchSubset(s, sub) {
if (!options.matchCase)
s = s.toLowerCase(); // this is where it fails
var i = s.indexOf(sub);
if (options.matchContains == "word") {
i = s.toLowerCase().search("\\b" + sub.toLowerCase());
}
if (i == -1) return false;
return i == 0 || options.matchContains;
};
Почему бы это не сработало?Что я могу сделать, чтобы это исправить?