2013-12-06 3 views
1

Я использую bootstrap 3 с typeahead, и у меня возникла проблема с его форматированием.Bootstrap Typeahead render issue

Мой 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

Как вы можете видеть это показывает только 1 результат, даже если есть 4 в ответ.

Как примечание, когда я нажимаю только этот ответ, выпадающий список просто исчезает, не вводится в текстовое поле.

Я что-то упустил?

ответ

0

я понял это, я должен был добавить:

valueKey: 'ntid' as an option. 

Complete:.

$('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 тег, который я ищу в