2016-10-28 4 views
1

Ich versuche, ein Stück JS-Code zu schreiben, die die ausgewählte Option aus einem HTML-Formular <select> erhalten, lesen Sie es und geben Sie mir etwas zurück, je nachdem, was die Option war .Getting JS zum Lesen der Auswahl aus einem HTML-Formular

Der HTML-Code sieht wie folgt aus:

<select id="mainhand" name="Main hand" onchange="getmh()"> 
    <option value="Sword" selected> Sword </option> 
    <option value="Axe"> Axe </option> 
    <option value="Mace"> Mace </option> 
</select> 
<p id="mhchoice">choice</p> 
<p id="mhdesc">description</p> 
<p id="mhcost">cost</p> 

und die JS wie folgt aus:

function getmh(option){ 
    if (option == "Sword"){ 
     document.getElementById('mhchoice').innerHTML = 'Sword'; 
     document.getElementById('mhdesc').innerHTML = swordDesc; 
     document.getElementById('mhcost').innerHTML = swordPrice; 
     document.getElementById('ProductImage').src = 'sword.png'; 
    } 
    if (option == "Axe"){ 
     document.getElementById('mhchoice').innerHTML = 'Axe'; 
     document.getElementById('mhdesc').innerHTML = axeDesc; 
     document.getElementById('mhcost').innerHTML = axePrice; 
     document.getElementById('ProductImage').src = 'axe.png'; 
    }  
    if (option == "Mace"){ 
     document.getElementById('mhchoice').innerHTML = 'Mace'; 
     document.getElementById('mhdesc').innerHTML = maceDesc; 
     document.getElementById('mhcost').innerHTML = macePrice; 
     document.getElementById('ProductImage').src = 'mace.png'; 
    } 
} 

Ich habe jetzt fast zwei Stunden lang auf diese aufgeklebt, habe ich mehrere Dinge ausprobiert aber bisher scheint nichts zu funktionieren.

dies hilft
<select id="mainhand" name="Main hand" onchange="getmh(this.value)"> 

Hoffnung:

+2

Und 'option' in der Funktion soll magisch einen Wert von wo genau bekommen, wenn Sie keinen Parameter im Funktionsaufruf übergeben ...? – CBroe

+0

@arszenik Wenn du -1 bekommst, ist deine Lösung einfach, du verpasst etwas wie außer Sichtweite. –

+1

'onchange =" getmh (this.value) "'. – nnnnnn

Antwort

0

Als @nnnnnn im Above comment erwähnt, Sie haben gerade den gewählten Wert this.value an die Funktion übergeben.

function getmh(option){ 
 
    if (option == "Sword"){ 
 
    document.getElementById('mhchoice').innerHTML = 'Sword'; 
 
    document.getElementById('mhdesc').innerHTML = swordDesc; 
 
    document.getElementById('mhcost').innerHTML = swordPrice; 
 
    document.getElementById('ProductImage').src = 'sword.png'; 
 
    } 
 
    if (option == "Axe"){ 
 
    document.getElementById('mhchoice').innerHTML = 'Axe'; 
 
    document.getElementById('mhdesc').innerHTML = axeDesc; 
 
    document.getElementById('mhcost').innerHTML = axePrice; 
 
    document.getElementById('ProductImage').src = 'axe.png'; 
 
    }  
 
    if (option == "Mace"){ 
 
    document.getElementById('mhchoice').innerHTML = 'Mace'; 
 
    document.getElementById('mhdesc').innerHTML = maceDesc; 
 
    document.getElementById('mhcost').innerHTML = macePrice; 
 
    document.getElementById('ProductImage').src = 'mace.png'; 
 
    } 
 
}
<select id="mainhand" name="Main hand" onchange="getmh(this.value)"> 
 
    <option value="Sword" selected> Sword </option> 
 
    <option value="Axe"> Axe </option> 
 
    <option value="Mace"> Mace </option> 
 
</select> 
 
<p id="mhchoice">choice</p> 
 
<p id="mhdesc">description</p> 
 
<p id="mhcost">cost</p>

+1

Vielen Dank, dass es funktioniert hat, obwohl ich die letzte Stunde damit verschwendet habe, bis ich merkte, dass ich auch ein "}" vermisste – Arszenik

0

Ich glaube, Sie für den langen Weg gehen. Sie können so etwas versuchen.

Verwandte Themen