webForumDet fria alternativet
Logga in / Bli medlem

onkeyup

JavaScript

4 svar · 325 visningar · startad av Debeo

Medlem sedan maj 200340 inlägg
Trådstart#1

Tänkte höra om det är någon som vet hur man gör ett input-fält som SMHI har på denna sida:

http://www.smhi.se/menyer/ind_vader.htm

som uppdaterar sig när man skriver i det??

Medlem sedan dec. 20025 483 inlägg
#2

Det är bara att ta en titt på koden de använder. Vad exakt är det du vill åstadkomma?

Medlem sedan maj 200340 inlägg
#3

Precis det dom gör fast med orter ur min egen databas. Är inte så haj på java.

Medlem sedan dec. 20025 483 inlägg
#4

Följande kan vara någonting att starta med:

<script type="text/javascript">

var places = ["Ljustorp", "Njurunda", "Sundsvall"];

function updateField(f, e){
    e = e || event;

    var val = f.value,
	len = places.length;

    if (val.length == 0 || e.keyCode == 8){
	return;
    }

    for (var j = 0; j < len; ++j){
	if (new RegExp("^" + val, "i").test(places[j])){
	    f.value = places[j];

	    if (f.createTextRange){
		var range = f.createTextRange();

		range.moveStart("character", val.length);
		range.moveEnd("character", places[j].length);
		range.select();

		break;
	    }

	    if (f.setSelectionRange){
		f.setSelectionRange(val.length, places[j].length);

		break;
	    }
	}
    }
}

</script>

<form>
    <input type="text" name="ort" onkeyup="updateField(this, event)">
</form>

Se till att loopa ut ortsnamnen i stigande ordning i places.

Medlem sedan maj 200340 inlägg
#5

Tack för hjälpen, funkade fint. :)

259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)