我希望在javascript中创建一个自动完成文本框,其行为类似于开发IDE中的autocompete。
我的数据无限递归,每个孩子可能包含数千个项目。简单的Json看起来像这样:
[{
id: 123,
name:abc,
children:
[
{
id: 156,
name:xyz,
children:
[
....
]
},....
]
},...]
对于我希望能够搜索和自动完成的每个项目。理想情况下,每次用户完成传递先前选择的项目的ID时,将使用休息调用检索数据。
e.g。对于上面的json ...当用户输入“a”时,他们将获得“abc”作为自动完成选项。当他们选择“abc”然后输入“x”时,“xyz”将成为下一个自动完成选项。所以我最终会在文本框中输入“abc.xyz”。显然,在现实世界中,我会强制执行超过1个字符的输入。
是否有任何库已经提供此行为,所以我不必重新发明轮子?我发现的最接近的是select2(http://ivaynberg.github.io/select2/),我试图使用jquery自动完成(http://jqueryui.com/autocomplete/),但是我不能完全理解我所追求的行为。
感谢任何帮助。
答案 0 :(得分:0)
我使用的是:https://github.com/cootetom/jQuery-JSON-Suggest-Search-Box
检查一下。我不确定,它可以处理嵌套元素。