我正在寻找自动完成库,它可以支持嵌套(查找)字段的自动完成
就像我有数据数组
var Data=[
"Name",
{
"Employee": [
"name",
"address",
"phone"
]
},
"Size",
"LastName"
{
"Vacation": [
"name",
"address",
"phone"
]
}
]
如果我输入' N '那么它应该建议Name,LastName
如果我输入' E '它应该建议员工和
如果我输入员工 。,那么它应该建议员工对象的属性,如姓名,地址和电话
Jquery自动完成库是否有这样的灵活性,或者如果有人知道具有这种灵活性的不同库,请建议我。
答案 0 :(得分:0)
这解决了问题的第一部分:
工作示例:http://jsfiddle.net/Twisty/a3vffhfn/
<强>的JavaScript 强>
var myData = [
"Name", {
"Employee": [
"name",
"address",
"phone"
]
},
"Size",
"LastName", {
"Vacation": [
"name",
"address",
"phone"
]
}
];
$(function() {
$("#desc").autocomplete({
minLength: 1,
source: function(req, resp) {
var q = req.term;
var results = [];
console.log("Term:", q);
$.each(myData, function(k, v) {
console.log(k, v, typeof v);
if (typeof v == "string") {
// Item is String
if (v.indexOf(q) === 0) {
// If term matches String, add to Results
results.push(v);
}
}
if (typeof v == "object") {
// Item is Object
$.each(v, function(j, z) {
if (j.indexOf(q) === 0) {
// Check object keys, if matches, add key to Results
results.push(j);
}
});
}
});
console.log("Results:", results);
resp(results);
}
});
});
如果您输入&#34; N&#34;或&#34; E&#34;,&#34;姓名&#34;和&#34;员工&#34;出现。这不涉及问题的第二部分。由于您没有指定显示此数据的方式,因此不容易回答。