Bootstrap Typeahead渲染问题

时间:2013-12-06 05:23:42

标签: javascript jquery css twitter-bootstrap typeahead.js

我正在使用带有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"
}
]

但是,这是下拉列表的结果。

enter image description here

正如您所看到的,即使响应中有4个,它也只显示1个结果。

作为旁注,当我点击那个唯一的回复时,下拉列表就会消失,不会进入文本字段。

我错过了什么吗?

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标记。