0
我使用jquery.autocomplete.js,和下面的JS:jQuery AutoComplete錯誤:「s未定義」。我該如何解決這個問題?
$("#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;
};
爲什麼會變成這樣失敗?有什麼我可以解決它嗎?
你在傳遞一個變量嗎? – 2011-04-20 11:07:07
什麼是'Autocompleter.Cache'?它不是jQuery UI的一部分...... – 2011-04-20 11:07:16
@Tim,我沒有用's'做任何事情。我不知道那個變量是什麼,我也沒有通過任何其他的方法 – DaveDev 2011-04-20 11:10:38