Я делаю автозаполнение с getJson.Но данные не отображаются после ввода только: test
Вы можете увидеть это в действии здесь: http://buildingdomain.com/test/nice.html
Я также делаю обратный вызов.Я получаю данные, но не вовремя.Например, когда я набираю: test, данные не будут отображаться.Только когда я наберу пробел, данные появятся.Но я сразу скажу, что данные появятся после ввода: test.
<script>
// Get the input box
var textInput = document.getElementById('test-input');
// Init a timeout variable to be used below
var timeout = null;
var data_arr;
// Listen for keystroke events
textInput.onkeyup = function (e)
{
clearTimeout(timeout);
// Make a new timeout set to go off in 800ms
timeout = setTimeout(function () {
TextSuggestions = textInput.value.replace(' ', '_');
getData(TextSuggestions);
console.log('Input Value:', textInput.value);
}, 800);
};
function getData(TextSuggestions)
{
var myurl = "";
TextSuggestions = TextSuggestions.replace(" ", "_");
TextSuggestions = TextSuggestions.replace("%", "_");
myurl = "https://io.qwantumdata.com/search/" + TextSuggestions + "/";
myurl = myurl.replace(" ", "_")
console.log(myurl);
$.getJSON(myurl)
.done(function (data) {
getDataCallback(data);
}).fail(function (jqXHR, textStatus, err) {
return
});
}
function getDataCallback(json)
{
data_arr = json.data.items.map(function(i){
return {
label: i.kvkNumber + ' - ' + i.tradeNames.businessName,
value: i.kvkNumber + ' - ' + i.tradeNames.businessName,
desc: i.tradeNames.businessName
}
})
auto(data_arr);
}
function auto(data_arr)
{
$("#test-input").autocomplete(
{
source: data_arr,
minLength: 2
})
}
</script>