Hejsan,
Jag har en Listbox som är stor med ett utseende liknande detta:
<select name="listbox">
<option value="XYZ">Leif Landén</option>
<option value="ABC">Anders Bergsten</option>
</select>
Jag vill ha en Input-box som Om man börjar att skriva "Le" så defaultar den till Leif, och börjar man skriva "An" så defaultar den till Anders, den ska alltså ta närmaste träff för varje bokstav man skriver in.
Om man skriver in något som inte finns ska den stanna på närmaste träff.
------------------
Leif Landén
Mobile: +46 (702) 08 11 38
"A whole lot of failure will help you succed."
JohnsenMedlem sedan juli 2000836 inlägg Eller så här kanske:
Funktionen i head:
function kolla(){
var sok_namn=document.foo.bar.value
if(sok_namn!=""){
for (var i=0; i<document.foo.listbox.options.length; i++){
if(document.foo.listbox.options[i].text.substr(0,sok_namn.length)==sok_namn){
document.foo.listbox.options[i].selected=true; break;}
}
}
}
och formuläret:
<form name="foo">
<input type="text" name="bar" onkeyup="kolla();">
<select name="listbox">
<option value="XYZ" selected>Leif Landén</option>
<option value="ABC" >Anders Bergsten</option>
</select>
</form>
------------------
- J-O-H-N-S-E-N -
------------------
Johnsen! TACKAR! Precis vad jag var ute efter.... Nästan....
Den sitter som en smäck, förutom att jag skulle vilja få den att INTE vara case-sensitive... går det? Har försökt med toUpperCase och toLowerCase men det ballade bara ut. Antar att jag är på rätt väg men inte förstår hur jag ska göra bara. Kan man få en snabb hint?
------------------
Leif Landén
Mobile: +46 (702) 08 11 38
"A whole lot of failure will help you succed."
PROBLEMET LÖST!
Tack båda två för hjälpen!
------------------
Leif Landén
Mobile: +46 (702) 08 11 38
"A whole lot of failure will help you succed."
JohnsenMedlem sedan juli 2000836 inlägg Trevligt!
Det hade varit kul att se hur du löste det. Mitt förslag hade varit:
function kolla(){
var sok_namn=document.foo.bar.value.toLowerCase()
if(sok_namn!=""){
for (var i=0; i<document.foo.listbox.options.length; i++){
if(document.foo.listbox.options[i].text.substr(0,sok_namn.length).toLowerCase()==sok_namn){
document.foo.listbox.options[i].selected=true; break;}
}
}
}
------------------
- J-O-H-N-S-E-N -
------------------
function kolla(){
var sok_namn=document.bookbox.fastsearch.value
if(sok_namn!=""){
for (var i=0; i<document.bookbox.f_DstCity.options.length; i++){
if(document.bookbox.f_DstCity.options[i].text.substr(0,sok_namn.length).toUpperCase()==sok_namn.toUpperCase()){
document.bookbox.f_DstCity.options[i].selected=true; break;}
}
}
}
Men, din hade visserligen varit effektivare. (Kör toUpperCase mer sällan). Ska fixa det.... *vid tillfälle*
------------------
Leif Landén
Mobile: +46 (702) 08 11 38
"A whole lot of failure will help you succed."