Avatar billede psyclown Nybegynder
08. juni 2003 - 19:52 Der er 8 kommentarer og
2 løsninger

problemer med "or"

jeg har bixet de her 2 functioner sammen, men den sidste function kan jeg ikke få til at virke som jeg gerne vil have den til:

<script language="JavaScript">
    grupper = new Array(5);
    for (i = 0; i < grupper.length; i++) grupper[i] = new Array();
    grupper[0][0] = "Choose above";
    grupper[1][0] = "12";
    grupper[1][1] = "16";
    grupper[1][2] = "20";
    grupper[2][0] = "24";
    grupper[2][1] = "32";
    grupper[2][2] = "40";
    grupper[3][0] = "36";
    grupper[3][1] = "48";
    grupper[3][2] = "60";
    grupper[4][0] = "48";
    grupper[4][1] = "64";
    grupper[4][2] = "80";
    function skiftTeams(theFrm) {
        ind = theFrm.Groups.selectedIndex;
        theFrm.Teams.length = grupper[ind].length;
        for (n = 0; n < grupper[ind].length; n++) {
            theFrm.Teams.options[n].text = grupper[ind][n];
            theFrm.Teams.options[n].value = grupper[ind][n];
        }
    }
    //herfra og ned efter
    function skiftTpg(frmn) {
        indTeams = frmn.Teams.selectedIndex.value;
        if (indTeams == "12" || "24" || "36" || "48") {
            frmn.Tpg.options[0].text = 3;
            frmn.Tpg.options[0].value = 3;
        } else if (indTeams == "16" || "32" || "48" || "64") {
            frmn.Tpg.options[0].text = 4;
            frmn.Tpg.options[0].value = 4;
        } else if (indTeams == "20" || "40" || "60" || "80") {
            frmn.Tpg.options[0].text = 5;
            frmn.Tpg.options[0].value = 5;
        } else {
            frmn.Tpg.options[0].text = "Choose above";
            frmn.Tpg.options[0].value = "-";
        }
    }
</script>

<select name="Groups" size="1" onChange="skiftTeams(this.form);" style="background: #D6D6D6;font-family: Verdana;font-size: 12;font-color: #000000">
    <option value="-" selected>Choose here</option>
    <option value="4">4</option>
    <option value="8">8</option>
    <option value="12">12</option>
    <option value="16">16</option>
</select>
<select name="Teams" size="1" onChange="skiftTpg(this.form);" style="background: #D6D6D6;font-family: Verdana;font-size: 12;font-color: #000000">
    <option value="-">Choose above</option>
</select>
<select name="Tpg" size="1" style="background: #D6D6D6;font-family: Verdana;font-size: 12;font-color: #000000">
    <option value="-">Choose above</option>
</select>

De første 2 selectboxe (Groups og Teams) bliver styret af den første function også var det meningen at de 2 sidste selectboxe (Teams og Tpg) skulle styres af den anden function, men det virker ikke helt.

I den første selectbox kan man vælge imellem 4, 8, 12 eller 16, hvis man f.eks. vælger 4 skifter den anden selectbox, så man kan vælge imellem 12, 16 eller 20. Det var så meningen at når man vælger f.eks. 12 så skal den 3 og sidste selectbox skifte til 3 (4*3 = 12) eller hvis man vælge 16 så skal den 3 selectbox skifte til 4 (4*4 = 16).

Håber der er nogen der forstår systemet i det.

På forhånd tak!
Avatar billede riversen Nybegynder
08. juni 2003 - 19:57 #1
indTeams == "12" || indTeams == "24" || indTeams == "36" || indTeams == "48")

du skal gentage indTeams
Avatar billede riversen Nybegynder
08. juni 2003 - 19:58 #2
det gælder selvfølgelig alle steder.
Avatar billede psyclown Nybegynder
08. juni 2003 - 20:01 #3
det virker ikke selvom jeg gør det
Avatar billede roenving Novice
08. juni 2003 - 20:17 #4
Det er sådan her:

        indTeams = frmn.Teams.options[frmn.Teams.selectedIndex].value;
Avatar billede psyclown Nybegynder
08. juni 2003 - 20:24 #5
okay nu virker det jo som det skal, der er bare et lille problem, 48 findes både når jeg vælger 12 og 16, men i den tredje selectbox hvis jeg vælger 48 ved 12, så skal den vise 4, men hvis jeg gør det ved 16 skal den vise 3, men nu viser den naturligvis 3 ved begge 2...kan det gøres på en anden måde så det kan komme til at virker ordenligt ??
Avatar billede psyclown Nybegynder
08. juni 2003 - 21:21 #6
det er faktisk lige meget, jeg finder bare på noget andet, men tak for hjælpen og roenying vil du lige smide et svar så du kan få det halve af pointne..
Avatar billede roenving Novice
09. juni 2003 - 15:54 #7
Jeps, så skal du bare i den første:

indTeams == "12" || indTeams == "24" || indTeams == "36" || indTeams == "48" && theFrm.Groups.selectedIndex == 3 )

'-)
Avatar billede roenving Novice
09. juni 2003 - 15:55 #8
Hov for hurtig copy/paste:

        if (indTeams == "12" || indTeams == "24" || indTeams == "36" || indTeams == "48" && frmn.Groups.selectedIndex == 3 ) {
Avatar billede psyclown Nybegynder
11. juni 2003 - 00:02 #9
tak begge to endnu engang for jeres hjælp
Avatar billede roenving Novice
11. juni 2003 - 02:12 #10
Velbekomme -- og takker for points ;~}
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