får du her.
den endte med at se sådan ud:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
input[name=kommer_fra] {
text-transform:capitalize;
}
</style>
</head>
<body>
<input type="text" name="kommer_fra" value="" placeholder="Please key in some text.">
<script type="text/javascript" src="autoComplt.js"></script>
<script>
ucFirst = function (str) {
return str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase();
};
hintsFetcher = function (v, openCallback) {
var words = [
"Abyssinian", "atest", "Ainu Dog", "Alligator", "Barb", "Bloodhound",
"Chinook", "Cougar", "Dingo", "Dormouse", "Earwig",
"Emperor Tamarin", "Falcon", "Fennec Fox", "Gecko", "German Shepherd",
"Hammerhead Shark", "Hermit Crab", "Iguana", "Javan Rhinoceros", "Lion"
];
var hints = [];
for (var i = 0, lng = words.length; i < lng; i++) {
if(words[i].toLowerCase().indexOf(v.toLowerCase() ) > -1){
str = ucFirst(words[i]);
hints.push(str);
}
}
openCallback(hints);
};
var input_ = document.querySelector("input[name=kommer_fra]");
autoComplt.enable(input_);
input_.autoComplt.setHintsFetcher(hintsFetcher);
</script>
</body>
</html>
så skal det optimeres.
jeg tænker at
1) muligvis ligge words arrayet uden for functionen, men helt sikkert lave alle ord om til lovercase, det er der ikke nogle grund til at gøre inde i loopet
2) ligge v.toLowerCase() ude fra loopet