首先,本文的一些代码参考了 小杰仔的一些代码。
jquery.autocomplete.js文件中明确说明可以用实时查询方式来实现autocomplete功能,可是实现起来却发现困难重重,纠结之处在于,从后台取出数据生成Json数据,传递到前台,却发生解析错误的现象!郁闷之余,翻阅很多网上资料,均无完美答案,于是不得已,参考了他的一段parse代码,对autocomplete.js文件进行修改。
修改后的parse函数为:
function parse(data) {
var parsed = [];
if (typeof (data.text) != "undefined") {
var jsons = eval('(' + data.text + ')');
for (var i = 0; i < jsons.length; i++) {
var json = jsons[i];
if (json) {
var val;
for (var key in json) {
val = json[key]; break;
}
parsed[parsed.length] = {
data: json,
value: val,
result: options.formatResult && options.formatResult(json, val) || val
};
}
}
}
return parsed;
};
var parsed = [];
if (typeof (data.text) != "undefined") {
var jsons = eval('(' + data.text + ')');
for (var i = 0; i < jsons.length; i++) {
var json = jsons[i];
if (json) {
var val;
for (var key in json) {
val = json[key]; break;
}
parsed[parsed.length] = {
data: json,
value: val,
result: options.formatResult && options.formatResult(json, val) || val
};
}
}
}
return parsed;
};
最终效果为:
这个方面,如果大家有更高明的方法,请不吝指出。