Avatar billede krab Praktikant
22. juni 2007 - 09:28 Der er 3 kommentarer og
1 løsning

Select html box, deselect item onclick

Hey..

Ved ikke om mit spm er nemt eller ej..

Jeg skal bruge noget javakode der kan::

Har en HTML selectbox med et vilkårligt antal options, når selectbox'en loades er alle selected,. Efterfølgende skal de kunne deselectes enkeltvis ved at klikke på de options man ikke skal bruge..

Hvordan kan dette lade sig gøre??

Peter
Avatar billede krab Praktikant
22. juni 2007 - 10:08 #1
HJÆLP TAK ????
Avatar billede roenving Novice
22. juni 2007 - 15:40 #2
Det lyder som en gruppe af checkboxes, som jo præcis kan den slags ...

-- ellers er det noget irriterende kode, for du skal ændre værdier på en ulogisk måde, prøv først om ikke checkboxene kan det, du vil !-)
Avatar billede krab Praktikant
02. juli 2007 - 11:27 #3
Hey igen..

Tak for dit svar... Men fandt selv på noget :) ..

<html>
  <head>
    <title>Stilk skal give is!</title>
  </head>
  <body>
    <script>
    function in_array(needle, haystack){
      for (var i = 0; i < haystack.length; i++){
        if (haystack[i] == needle){
          return true;
        }
      }
      return false;
    }

    var selects = new Array();
    function selectOption(){
      var el;
      for(var i = 0; i < document.getElementById("foo").length; i++){
        if(document.getElementById("foo").options[i].selected){
          el = document.getElementById("foo").options[i].id;
        }
      }

      if(selects.length == 0){
        selects[0] = el;
      }else{
        if(in_array(el,selects)){
          for (var i = 0; i < selects.length; i++){
            if(selects[i] == el){
              selects[i] = null;
            }
          }
        }else{
          selects.push(el);
        }
      }

      for(var i = 0; i < document.getElementById("foo").length; i++){
        document.getElementById("foo").options[i].selected = false;
      }

      for (var i = 0; i < selects.length; i++){
        if (selects[i] != null){
          document.getElementById(selects[i]).selected = true;
        }
      }
    }

    </script>
    <select id="foo" size="5" MULTIPLE onclick="selectOption()">
      <option id="selectfoo">foo</option>
      <option id="selectbar">bar</option>
      <option id="selectbaz">baz</option>
    </select>
  </body>
</html>
Avatar billede krab Praktikant
02. juli 2007 - 11:28 #4
lukket
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