我有结构化的数据,其中包含各种类型的数据。为了简单起见,假设我有这样的事情:自动完成结构化数据
{
person : [
{
name : 'paul',
title : 'prof',
profession : 'teacher',
start: '2010-10-10'
},
{
name : 'joe',
title : 'dr',
profession : 'scientist',
start: '2000-01-01'
}
]
book : [
{
title : 'the cat in the hat'
}
]
}
我想在JavaScript中的自动完成对话框,让我选择这些结构性元素的名称,以便下面的结果将返回给定字母输入:
't' : {'person.title', 'book.title'}
'p' : {'person', 'person.profession'}
对我来说重要的是,该人可能知道树内任何变量的名称。因此,如果他们输入顶级变量的名称,我只想显示一个子元素而没有子元素,但是如果他们输入子元素的名称,我需要该子元素的完整路径显示。如果他们输入一个顶级变量(“人物”),我不想显示所有的子元素,只有那些始终以相同字母集合开头的子元素。
与正常的自动完成相比,当前是否有任何库可以执行此操作(提供一种对结构化数据执行自动完成的方法)?
澄清:我想我需要的是能够告诉自动完成库的输入和输出的地图工作,这样键入“p”将最终击中输入“人”和从而返回“person”和“person.profession”,并在“title.title”的“person.title”和“title”中输入“t”作为“职业”。
让我澄清。你是说你想要自动完成属性名称或它们的值吗? – Bruno
属性名称可以更好地(容易地)用下拉式服务。不是我说自动完成不能做同样的... –
@Pushpesh,我同意。对于非自由形式的输入下拉FTW。他们也有自动完成功能。 – katspaugh