08. maj 2003 - 11:55
Der er
5 kommentarer og
1 løsning
select felt - indkredsning af søgning
I et select felt hopper corsuren ned på det ord som starter med det bogstav der tastes. Hvis der så tastes en andet bogstav finder den det ord som starter med dette. Kan man vha javascript få den til at blive på den det første ord, og derefter finde det ord hvor andet bogstav matcher, osv.
Det du er ude efter er en combobox, som ikke findes som standard i HTML, men kan konstrueres ved hjælp af et tekstfelt og en div med indholdet.
-DC
Slettet bruger
08. maj 2003 - 13:29
#3
Fx:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Dynamisk select-boks</title>
<script type="text/javascript">
valg = new Array("Albatros", "Anders", "And", "Asger", "Bi", "Blomst", "Benjamin", "Bølle", "Citron", "Cykel", "Flæskestej");
valg.sort();
function opdater(felt) {
selOpts = felt.form.sel.options;
selOpts.length = 0;
for (i = 0; i < valg.length; i++)
if (felt.value == "" || valg[i].toLowerCase().indexOf(felt.value.toLowerCase()) == 0)
selOpts[selOpts.length] = new Option(valg[i], valg[i]);
}
</script>
</head>
<body onLoad="document.frm.sFelt.focus();">
<h2>Dynamisk select-boks</h2>
<form name="frm">
<input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;"><br />
<select multiple="multiple" size="8" name="sel" style="width: 150px;">
<script type="text/javascript">
for (i = 0; i < valg.length; i++)
document.write('<option value="' + valg[i] + '">' + valg[i] + '</option>');
</script>
</select><br /><br />
<input type="submit" value="Send">
</form>
Indtast forbogstavet på et af ordene i select-boksen. Hvis der er flere muligheder tilbage, så prøv at indtaste det næste bogstav, osv. Du kan selvfølgelig også bare vælge en af mulighederne. Et godt script til at vise meget information.<br /><br />
<form>
<input type="button" value="Markér alt" onClick="this.form.ta.select(); this.form.ta.focus();"> <input type="button" value="Kopiér" onClick="if (document.all) document.all.ta.createTextRange().execCommand('Copy'); else alert('Virker kun i Internet Explorer!');"><br />
<textarea style="width: 100%; height: 200px;" name="ta" id="ta">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Dynamisk select-boks</title>
<script type="text/javascript">
valg = new Array("Albatros", "Anders", "And", "Asger", "Bi", "Blomst", "Benjamin", "Bølle", "Citron", "Cykel", "Flæskestej");
valg.sort();
function opdater(felt) {
selOpts = felt.form.sel.options;
selOpts.length = 0;
for (i = 0; i < valg.length; i++)
if (felt.value == "" || valg[i].toLowerCase().indexOf(felt.value.toLowerCase()) == 0)
selOpts[selOpts.length] = new Option(valg[i], valg[i]);
}
</script>
</head>
<body onLoad="document.frm.sFelt.focus();">
<h2>Dynamisk select-boks</h2>
<form name="frm">
<input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;"><br />
<select multiple="multiple" size="8" name="sel" style="width: 150px;">
<script type="text/javascript">
for (i = 0; i < valg.length; i++)
document.write('<option value="' + valg[i] + '">' + valg[i] + '</option>');
</script>
</select><br /><br />
<input type="submit" value="Send">
</form>
</body>
</html></textarea>
</form>
</body>
</html>
Slettet bruger
08. maj 2003 - 13:29
#4
Hov, sorry, der kom for meget ekstra med. Men du kan nok godt finde ud af at sortere det irrelevante fra.