Avatar billede majbom Novice
07. oktober 2003 - 08:59 Der er 1 kommentar og
1 løsning

onchange i select

hej exp.dk

jeg har siddet og leget lidt med at få lagt nogle værdier over i en select (select2), når man vælger noget i en anden select (select1)..

den data jeg vil have overført ligger i hidden inputs i forskellige forms, fx:

hvis jeg vælger "programmering" i select1, skal den tage alle de hidden inputs i formen der hedder "programmering"...
(så hvis der er 5 hidden inputs i formen "programmering", skal der laves 5 punkter i select2)

er det noget der kan lade sig gøre?

på forhånd tak
Avatar billede -mundi- Nybegynder
07. oktober 2003 - 09:26 #1
Versesgod, lige nu er felttypen sat til at være "text", hvis du vil bruge hidden fields skal onchange="convertElementsToSelect(this.options[this.options.selectedIndex].value,'text');" ændres til onchange="convertElementsToSelect(this.options[this.options.selectedIndex].value,'hidden');"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
    <script language="javascript" type="text/javascript">
    var numforms=0;
   
    function populate(){
        numforms=document.forms.length;
        for(var i=0;i<numforms;i++){
            if(document.forms[i].name!='masterform'){
                addOption(document.forms['masterform'].elements['select1'], document.forms[i].name, document.forms[i].name);
            }
        }
    }
   
    function addOption(object,text,value)
    {
          var defaultSelected = false;
        var selected = false;
        var optionName = new Option(text, value, defaultSelected, selected)
        object.options[object.options.length] = optionName;
    }
   
    function convertElementsToSelect(formname,fieldtype){
        while(document.forms['masterform'].elements['select2'].options.length>1){
            document.forms['masterform'].elements['select2'].options[1] = null;
        }
        var formitems = document.forms[formname].elements.length;
        for(var i=0;i<formitems;i++){
            if(document.forms[formname].elements[i].type==fieldtype){
                addOption(document.forms['masterform'].elements['select2'],document.forms[formname].elements[i].name,document.forms[formname].elements[i].value)
            }
        }
    }
    </script>
</head>

<body onload="populate();">
<form name="programmering">
    <input name="felt1" value="value1" type="text">
    <input name="felt2" value="value2" type="text">
    <input name="felt3" value="value3" type="text">
    <input name="felt4" value="value4" type="text">
    <input name="felt5" value="value5" type="text">
</form>

<form name="programmering2">
    <input name="felt6" value="value6" type="text">
    <input name="felt7" value="value7" type="text">
    <input name="felt8" value="value8" type="text">
    <input name="felt9" value="value9" type="text">
    <input name="felt10" value="value10">
</form>

<form name="masterform">
    <select name="select1" onchange="convertElementsToSelect(this.options[this.options.selectedIndex].value,'text');" id="select1"><option></select>
    <select name="select2" id="select2"><option></select>
</form>

</body>
</html>
Avatar billede majbom Novice
07. oktober 2003 - 09:39 #2
max knalde!

1000 tak!
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