Avatar billede straszek Praktikant
17. maj 2002 - 12:27 Der er 2 kommentarer og
2 løsninger

Select

Jeg har i en formular en select med 5 valgmuligheder. Er det muligt udover de foruddefinerede mulighed, at brugeren selv kan indtaste en ny mulighed i selecten?

Søren
Avatar billede Slater Ekspert
17. maj 2002 - 12:29 #1
Kun ved at gøre det med en anden <input type=text> og lidt script.
Du kan indsætte en ny <option> med select_obj.innerHTML += "<option value='blah'>";
Avatar billede Slater Ekspert
17. maj 2002 - 12:31 #2
Måske kan man også handle onkeydown på select'en og så skrive bogstaverne til dens værdi som de indtastes.. Har dog aldrig prøvet dette.

/Viperine
http://viperine.jaha.dk
Avatar billede nikolajdu Nybegynder
17. maj 2002 - 13:38 #3
Nute har en gang lavet den her:

<html>
<script>

var ns4x = document.layers?true:false;
var selIndex;

function deleteAll(){
  document.frm.sel.options.length = 0;
            // frembringer resultatet i Netscape 4.x
        if( ns4x ){
          history.go(0);
        }
}

function deleteSelected(){
  selIndex = document.frm.sel.selectedIndex;
    document.frm.sel.options[ selIndex ] = null;
            // frembringer resultatet i Netscape 4.x
        if( ns4x ){
          history.go(0);
        }
}

function modifySelected(){
  document.frm.but.onclick = executeModify;
  selElem = document.frm.sel.options[ document.frm.sel.selectedIndex ];
    txt = selElem.text;
    val = selElem.value;
    document.frm.val.value = val;
    document.frm.txt.value = txt;
}

function executeModify(){
  selElem = document.frm.sel.options[ document.frm.sel.selectedIndex ];
    selElem.text  = document.frm.txt.value;
    selElem.value = document.frm.val.value;
    document.frm.txt.value = '';
    document.frm.val.value = '';
    document.frm.but.onclick = addNew;
            // frembringer resultatet i Netscape 4.x
        if( ns4x ){
          history.go(0);
        }
}

function addNew(){
  var txt = document.frm.txt.value;
    var val = document.frm.val.value;
    document.frm.sel.options[ document.frm.sel.options.length ] = new Option( txt, val );
            // frembringer resultatet i Netscape 4.x
        if( ns4x ){
          history.go(0);
        }
}


</script>
<body>
<form name="frm" method="get" action="">
<select name="sel" size="5">
  <option value=""></option>
  <option value="Verdi 1">Verdi 1</option>
  <option value="Verdi 2">Verdi 2</option>
  <option value="Verdi 3">Verdi 3</option>
  <option value="Verdi 4">Verdi 4</option>
</select>
<br><br>
<li><a href="java script:deleteAll()">Slet Alle</a></li>
<li><a href="java script:modifySelected()">Rediger Markerte</a> (velg en option, klikk på link, skriv i felt og klikk på knapp)</li>
<li><a href="java script:deleteSelected()">Slet Markerte</a></li>
<li>Legg til nye (skriv i felt og klikk på knapp)</li><br><br>
value: <input type="text" name="val"><br>
text: <input type="text" name="txt"><br>
<input type="button" value=" Utfør " onClick="addNew();" name="but">
</form>
</body></html>

Du skal have fat i noget serverside ASP/PHP for også at kunne gemme dem efter siden reloades/forlades.

/Nikolaj
Avatar billede nikolajdu Nybegynder
18. maj 2002 - 20:36 #4
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester