2017-11-20 1 views
0

Ich versuche, eine Schnittstelle einer Website zu erstellen, die einen unterschiedlichen Preis abhängig davon hat, ob Kontrollkästchen aktiviert sind und einen Standardwert haben, wenn keiner ausgewählt ist.Wie kann ich Standard und ändern Preis mit Kontrollkästchen?

Der variierende Wert ist in einer Tabelle mit der ID 'Level1Price', die ich standardmäßig auf einen Wert von £ 5.11 'setzen möchte, wenn keines der beiden Kontrollkästchen aktiviert ist und der Wert für eins oder beide ausgewählt sind und wo die zwei Chekc-Boxen für sich jeweils einen anderen Wert haben.

Die beiden Kontrollkästchen haben die IDs "Partner" und "Kinder". Wenn keine Kontrollkästchen aktiviert werden (für die Zwecke dieser demon) den Wert von ‚sollte Level1Price in der Tabelle 5.

werden, wenn nur die‚Partner Level1Price ‚‘ Checkbox den Wert geprüft‘ist 10.

Wenn nur das Kontrollkästchen ‚Kinder‘, um den Wert von ‚Level1Price‘ geprüft ist 12.

Wenn beide Kontrollkästchen den Wert von ‚Level1Price‘ geprüft werden, ist 20.

var partner = document.getElementById("partner"); 
var children = document.getElementById("children"); 
function calc() 

if (!partner.checked && !children.checked) 

{ 
    document.getElementById('Level1Price')element.innerHTML = 5; 


} else if (partner.checked && !children.checked) 

{ 

document.getElementById('Level1Price')element.innerHTML = 10; 


} else if (!partner.checked && children.checked) 

{  
    document.getElementById('Level1Price')element.innerHTML = 12; 


} else if (partner.checked && children.checked) 

{ 

    document.getElementById('Level1Price')element.innerHTML = 20; 

} 

Dies ist der Code, dass ich Der Gedanke würde funktionieren und ich kämpfe. Ich entschuldige mich, wenn ich Anfängerfehler gemacht habe, bin ich noch recht neu und konnte nirgendwo eine funktionierende Lösung finden.

Vielen Dank im Voraus.

Dies sind die chekcboxes, die ich helfen möchte, das vale in der Tabelle zu ändern.

<div class="addition"> 
<label for="partner">+ Partner:</label> 
<input type="checkbox" name="partner" id="partner" value="partner" required> 
</div> 

<div class="addition"> 
<label for="children">+ Children:</label> 
<input type="checkbox" name="children" id="children" value="children" required> 
</div> 
</div> 

die Tabellendaten Dies ich

<tr> 
    <td scope=col id="Level1Price" value="5.11"> <b></b> <br/> per month</td> 
    <td scope=col id="Level2Price" value="9.97"> <b></b> <br/> per month</td> 
    <td scope=col id="Level3Price" value="14.06"> <b></b> <br/> per month</td> 
    </tr> 

Ist es möglich, automatisch aktualisiert werden, ohne die Notwendigkeit einer ‚berechnen‘ -Button zu füllen in der Lage sein?

+1

Können Sie bitte auch HTML teilen? Und ich bin mir nicht sicher 'document.getElementById (' Level1Price ') Element.innerHTML = 12; 'ist Syntax korrekt ... (** ('Level1Price') Element **) –

+0

ist der Standardwert £ 5.11 oder £ 5? – derloopkat

+0

Ich habe das auch versucht: document.getElementById ('Level1Price'). Value = 12; Würde das einen Unterschied machen? – SC123

Antwort

0

Sofern Ihre HTML wie folgt aussieht:

<span id="Level1Price"></span> 

dann:

document.getElementById('Level1Price').innerHTML = 20; 

in Ihrem HTML-Wesen führen wird:

<span id="Level1Price">20</span> 

Grundsätzlich Sie nur eine Syntax Problem haben (Entfernen der fehlerhafter "Element" -Text).

+0

das hat in meinem Dokument nicht funktioniert Ich denke, die Zahl in einer Tabelle vermasselt es :( – SC123

0

In Ihrem Code ist ein kleiner Syntaxfehler aufgetreten. Zum besseren Verständnis habe ich einen voll funktionsfähigen Code an Ihre Anforderungen angehängt.

Bitte beziehen Sie sich auf den folgenden Code.

var partner = document.getElementById("partner"); 
 
var children = document.getElementById("children"); 
 

 
function calc() { 
 
    var val = 5; 
 
    if (partner.checked && !children.checked) { 
 
    val = 10; 
 
    } else if (!partner.checked && children.checked) { 
 
    val = 12; 
 
    } else if (partner.checked && children.checked) { 
 
    val = 20; 
 
    } 
 

 
    document.getElementById('Level1Price').innerHTML = val; 
 
}
Partner: <input type="checkbox" id="partner" /> <br /> Children: <input type="checkbox" id="children" /> <br /> Level1 Price: 
 
<span id="Level1Price"></span> 
 
<br /> 
 
<button onClick="calc()">Calculate</button>

Wenn Sie noch irgendeine Frage finden oder ein Zweifel frei zu äußern haben das Gefühl, werde ich meine Antwort aktualisieren. TIA

+0

Das ist super danke, ich bin nicht in der Lage, den Preis in die Tabelle zu übertragen, in der es sitzt, wäre dies ein Problem ? Ist es möglich, automatisch zu aktualisieren, ohne eine Schaltfläche "Berechnen"? – SC123

+1

@ SC123 können Sie die Funktion bei Klick auf das Kontrollkästchen (beide) für diese stattdessen auf den Klick auf Berechnen Schaltfläche aufrufen. – vibhor1997a

+0

@ vibhor1997a thanks eine Menge, die sehr geschätzt wird – SC123

Verwandte Themen