Avatar billede dnm Nybegynder
22. juni 2003 - 23:24 Der er 5 kommentarer

Sammensættet textfield ud af checkbox's.

Jeg har flere checkbox's hver med deres farve i "value" Rød, blå, grøn, gul osv.

Når man trykker på en af checkbox'erne så bliver et textfield opdateret med farven. Men det skal være muligt at vælge flere farver f.eks. Gul, blå og grøn" og så skal textfield se sådan ud "gul, blå, grøn" men fjerner man checkbox blå så skal der stå "gul, grøn" i textfield.

Nogen ide hvordan man gør det?
Avatar billede grunken Nybegynder
23. juni 2003 - 00:50 #1
sådan nogenlunde ?

<script language="javascript" type="text/javascript">
function hest(farve){

f = document.forms[0]

if (f.noget.value.indexOf(','+farve) == -1){
  f.noget.value += ','+farve;}
else{
  f.noget.value = f.noget.value.replace(','+farve,'');}
}
</script>

<form>
<input type="checkbox" value="gul" onclick="hest(this.value);">gul<br>
<input type="checkbox" value="rød" onclick="hest(this.value);">rød<br>
<input type="checkbox" value="blå" onclick="hest(this.value);">blå<br>
<input type="checkbox" value="grøn" onclick="hest(this.value);">grøn<br>
<input type="text" name="noget">
</form>
Avatar billede Slettet bruger
23. juni 2003 - 10:49 #2
Det er dog næppe meningen, at der skal være et komma foran den første værdi.

<script language="javascript" type="text/javascript">
function hest(farve){

f = document.forms[0]

if (f.noget.value == "")
  f.noget.value = farve;
else if (f.noget.value.search(new RegExp(",?" + farve)) == -1)
  f.noget.value += ','+farve;
else{
  f.noget.value = f.noget.value.replace(new RegExp(farve + ",?"),'');}
}
</script>
Avatar billede roenving Novice
24. juni 2003 - 13:42 #3
>>phoenixv og grunken

-- I har vist testet grundigt *gg*

<script language="javascript" type="text/javascript">
function hest(f){

    var newVal="";
    for(i=0;f.elements.length>i;i++){
        if(f.elements[i].type=="checkbox" && f.elements[i].checked){
            if(newVal==""){
                newVal+=f.elements[i].value;
            }else{
                newVal+=", "+f.elements[i].value;
            }
        }
    }
    f.noget.value=newVal;
}
</script>
<form>
<input type="checkbox" value="gul" onclick="hest(this.form);">gul<br>
<input type="checkbox" value="rød" onclick="hest(this.form);">rød<br>
<input type="checkbox" value="blå" onclick="hest(this.form);">blå<br>
<input type="checkbox" value="grøn" onclick="hest(this.form);">grøn<br>
<input type="text" name="noget">
</form>
Avatar billede Slettet bruger
25. juni 2003 - 09:34 #4
roenving>> Ja, der var et par fejl... :)
Din er nu heller ikke særlig venlig for en side med mere end 100 checkbokse... :)
Avatar billede roenving Novice
25. juni 2003 - 13:03 #5
-- det har du garanteret ret i, jeg testede også kun med den stillede opgave ...

-- men mon ikke en Cray kunne klare det før kaffen var færdig ;O)
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