NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB
LG C2 42" 4K@120Hz AOC Q27G2U 1440P@144Hz
Hittar inte felet i mitt enkla Javascript
Senast redigerat
Visa signatur
Varför får jag inte nedan script att funka?
Gjort en enkel HTML-form, med några SELECT dropdowns. Jag vill få till det så att texten som står i 'span id="level2Label"' - alltså ovanför den nedre SELECT-en (id level2) - ska ändras, beroende på vilket alternativ man valt i den övre SELECT-en (id level1).
Har gjort ett enkelt script - labelAdapt() - som triggas av onChange på övre SELECT-en. Men jag får det inte funka. Tycker det borde funka, och lyckas inte hitta var dörrstoppen sitter nånstans.
btw, dom alternativ som kommer finnas i båda SELECT-arna genereras dynamiskt, av ett annat script, som inte finns inklistrat här. Men det funkar utmärkt. Och "SelectDisable()" är ett annat litet script som bara ändrar om SELECT-en ska vara 'disabled' eller inte, och det baseras på om föregående SELECT är vald (har annat värde än "- Select -") eller inte. Även det funkar bra.
Tackar för analys, hjälp och tips!
<form>
<select id="level1" onChange="SelectDisable();labelAdapt()"></select>
<br>
<span id="level2Label">Text</span>
<br>
<select id="level2" onChange="SelectDisable()"></select>
</form>
<script>
function labelAdapt() {
var level2Label = document.getElementById("level2Label");
if (level1.value === "- Select -") {
level2LabelText = "Nada";
} else if (level1.value === "A") {
level2LabelText = "A";
} else if (level1.value === "B") {
level2LabelText = "B";
}
level2Label.innerHTML = level2LabelText;
}
</script>
Varför får jag inte nedan script att funka?
Gjort en enkel HTML-form, med några SELECT dropdowns. Jag vill få till det så att texten (id level2Label) som står ovanför den nedre SELECT-en (id level2) ska ändras, beroende på vilket alternativ man valt i den övre SELECT-en (id level1).
Har gjort ett enkelt script - labelAdapt() - som triggas av onChange på övre SELECT-en. Men jag får det inte funka. Tycker det borde funka, och lyckas inte hitta var dörrstoppen sitter nånstans.
btw, dom alternativ som finns i övre selecten, genereras dynamiskt av ett annat script, som inte finns inklistrat här. Men det funkar utmärkt. Och "SelectDisable()" är ett annat litet script som bara ändrar om SELECT-en ska vara 'disabled' eller inte, och det baseras på om föregående SELECT är vald (har annat värde än "- Select -") eller inte. Även det funkar bra.
Tackar för analys, hjälp och tips!
<form>
<select id="level1" onChange="SelectDisable();labelAdapt()"></select>
<br>
<span id="level2Label">--</span>
<br>
<select id="level2" onChange="SelectDisable()"></select>
</form>
<script>
function labelAdapt() {
var level2Label = document.getElementById("level2Label");
if (level1.value === "- Select -") {
level2LabelText = "Nada";
} else if (level1.value === "A") {
level2LabelText = "A";
} else if (level1.value === "B") {
level2LabelText = "B";
}
level2Label.innerHTML = level2LabelText;
}
</script>
OnChange tar en funktion som värde, du försöker använda två. Om du vill köra båda funktionerna så får du lägga in dessa i sin egna funktion istället, som då kör både SelectDisable() och labelAdapt()
NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB
LG C2 42" 4K@120Hz AOC Q27G2U 1440P@144Hz
OnChange tar en funktion som värde, du försöker använda två. Om du vill köra båda funktionerna så får du lägga in dessa i sin egna funktion istället, som då kör både SelectDisable() och labelAdapt()
Ahaa, det är så det är. Då ska jag försöka med det direkt. Tror jag bakar ihop båda funktionaliteterna i samma funktion istället.
Tackar så mycket
Spelnyheter från FZ
Copyright © 1999–2025 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.