我有結構化的數據,其中包含各種類型的數據。爲了簡單起見,假設我有這樣的事情:自動完成結構化數據
{
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