我正在使用带有typeahead的bootstrap 3,我遇到了使其正确格式化的问题。
我的Jquery:
$('input.query').typeahead({
name: 'query',
value: 'ntid',
remote : 'jsonUser.php?query=%QUERY',
minLength: 3,
template: '<p><strong>{{ntid}}</strong> – {{name}}</p>',
engine: Hogan,
limit: 10
});
当我输入3个字符时,这是JSON响应。
[
{
"name": "John Doe",
"qid": "Q1234",
"empID": "123",
"ntid": "test"
},
{
"name": "Bob Jones",
"qid": "Q5678",
"empID": "456",
"ntid": "testing"
},
{
"name": "Mike James",
"qid": "Q2233",
"empID": "789",
"ntid": "tester"
},
{
"name": "Harry Potter",
"qid": "Q2212",
"empID": "223",
"ntid": "testit"
}
]
但是,这是下拉列表的结果。
正如您所看到的,即使响应中有4个,它也只显示1个结果。
作为旁注,当我点击那个唯一的回复时,下拉列表就会消失,不会进入文本字段。
我错过了什么吗?
答案 0 :(得分:0)
我想通了,我不得不补充道:
valueKey: 'ntid' as an option.
达成:
$('input.query').typeahead({
name: 'query',
value: 'ntid',
remote : 'jsonUser.php?query=%QUERY',
minLength: 3,
template: '<p><strong>{{ntid}}</strong> – {{name}}</p>',
engine: Hogan,
limit: 10 ,
valueKey: 'ntid'
});
valueKey设置是我正在搜索的json标记。