diff --git a/assets/js/main.js b/assets/js/main.js index 748a306..4ce20f8 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -126,19 +126,26 @@ document.addEventListener("keyup", async function (event) { if (event.keyCode === 13) { let value = document.getElementById("myInput").value if (value != "") { + let potential = 0 + let lower = 0 let top = 0 let comparison = 0 let guess drivers.forEach(driver => { comparison = similarity(value, driver) + if (comparison > lower) potential++ if (comparison > top) { top = comparison guess = driver } }) - if (top > 0.5) { + if (potential <= 1 || document.getElementsByClassName("autocomplete-items")[0].children.length <= 1) { document.getElementById("myInput").value = "" + var x = document.getElementsByClassName("autocomplete-items"); + for (var i = 0; i < x.length; i++) { + x[i].parentNode.removeChild(x[i]); + } let obj = {} Object.entries(driversObj).forEach(driver => { if (driver[1].firstName + " " + driver[1].lastName == guess) obj = driver[1] @@ -148,7 +155,7 @@ document.addEventListener("keyup", async function (event) { frames[1].innerHTML = `` frames[2].innerHTML = `` for (let i = 2; i < 6; i++) { - frames[i + 1].innerHTML = `
${Object.values(obj)[i + 3]}
` + frames[i + 1].innerHTML = `
${Object.values(obj)[i + 3]}
` } let answer = await fetch(`${window.location.href}driver?driver=${obj.firstName + " " + obj.lastName}`) let json = await answer.json() @@ -227,7 +234,7 @@ function similarity(s1, s2) { if (longerLength == 0) { return 1.0; } - return (longerLength - editDistance(longer, shorter)) / parseFloat(longerLength); + return (longer.includes(shorter)) ? (longerLength - editDistance(longer, shorter)) / parseFloat(longerLength) : 0; } function editDistance(s1, s2) {