Источник Typeahead не обновляется, если пользователь вводит текст в текстовое поле, затем очищает его, а затем снова начинает вводить его
Вот мой код
<input id = "docSearch" type = "text" autocomplete = "off" placeholder = "Search Doctor..." >
$('#docSearch').keyup(function(){
var list;
var q = $('#docSearch').val();
if (!q){
return;
}
$.ajax({
type: "POST",
url: "pullDocs.php",
data: {inp:q},
success: function(data){
//Typeahead accepts only proper json
list = $.parseJSON(data);
$('#docSearch').typeahead({
source: list
})
}
});
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я изменил свой код js (просто заменил функцию клавиатуры), как показано ниже, тогда он работал хорошо
$(document).ready(function () {
$('#docSearch').typeahead({
source: function (query, result) {
$.ajax({
url: "pullDocs.php",
data: 'inp=' + query,
dataType: "json",
type: "POST",
success: function (data) {
result($.map(data, function (item) {
return item;
}));
}
});
}
});
});