close ad
Install the LAtest Updates to Work with CC 2017 and CC 2018
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

multiplying two dropdown menu values

Thread began 10/05/2009 10:24 am by sz473390560 | Last modified 10/06/2009 1:27 pm by sz473390560 | 7698 views | 2 replies |

sz473390560

multiplying two dropdown menu values

Hi I am pretty new to Japascript, and have been trying to multiply the values of two dropdown menus

<td><form action="index.php?c=ref">
<select id="RLA" name="RLA" size="1" onchange="totalA(this.value);" >
<option value="">...</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<select id="RLB" name="RLB" size="1" onchange="totalB(this.value);">
<option value="">Choose One...</option>
<option value="0.55">x4 @ $0.55 each</option>
<option value="1.00">x8 @ $1.00</option>
<option value="1.30">x13 @ $1.30</option>
</select>
<input type="button" class="butt2" value="Buy Now" />
</form></td>
<td>Total: <input id="show" name="show" type="text" value="$0.00" size="3" /></td>



The Javascript that is supposed to work with it is

var numA = 0;
function totalA(valA) {
if (valA && document.getElementById(valA)) {
numA = eval(valA);
}
}

var numB = 0;
function totalB(valB) {
if (valB && document.getElementById(valB)) {
numB = eval(valB);
}
}
var tots = "$" + (numA * numB);
document.write("show").value = "$" + tots;



I have searched the web, exhausted my brain and am ready to have an aneurysm.
Basically I am trying to show the value of the selected two options before purchase.
Can someone help me?

Sign in to reply to this post

Justin Nemeth

Try this code. Basically, you have to access the values for a select list a little different than with a basic input field. And to set the value, you would use document.getElementById('show') to get a reference to your text field.

<td><form action="index.php?c=ref">
<select id="RLA" name="RLA" size="1" onchange="totalA(this);" >
<option value="">...</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<select id="RLB" name="RLB" size="1" onchange="totalB(this);">
<option value="">Choose One...</option>
<option value="0.55">x4 @ $0.55 each</option>
<option value="1.00">x8 @ $1.00</option>
<option value="1.30">x13 @ $1.30</option>
</select>
<input type="button" class="butt2" value="Buy Now" />
</form></td>
<td>Total: <input id="show" name="show" type="text" value="$0.00" size="3" /></td>



var numA = 0;
function totalA(selectA) {
if (selectA && selectA.selectedIndex) {
numA = selectA.options[selectA.selectedIndex].value;
}
}

var numB = 0;
function totalB(selectB) {
if (selectB && selectB.selectedIndex) {
numB = selectB.options[selectB.selectedIndex].value;
}
}

var tots = numA * numB;
document.getElementById("show").value = "$" + tots;



-justin

Sign in to reply to this post

sz473390560

Thanks

Thanks for the suggestion.
After a good night's sleep and squeezing my brain of every last drop I magically made it work.
Using the following html:

<td><form action="index.php?c=ref">
<select id="RLA" name="RLA" size="1" onchange="totalA(this.value);" >
<option value="">...</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<select id="RLB" name="RLB" size="1" onchange="totalB(this.value);">
<option value="">Choose One...</option>
<option value="0.55">x4 @ $0.55 each</option>
<option value="1.00">x8 @ $1.00</option>
<option value="1.30">x13 @ $1.30</option>
</select>
<input type="button" class="butt2" value="Buy Now" />
</form></td>
<td>Total: <input id="showTB" name="showTB" type="text" value="$0.00" size="3" /></td>



with script:

var numA = 0;
function totalA(valA) {
if (valA) {
numA = Number(valA);
}
var tots = numB*numA;
document.getElementById("showTB").value = "$" + tots.toFixed(2);
}

var numB = 0;
function totalB(valB) {
if (valB) {
numB = Number(valB);
}
var tots = numB*numA;
document.getElementById("showTB").value = "$" + tots.toFixed(2);
}


By adding

var tots = numB*numA;
document.getElementById("showTB").value = "$" + tots.toFixed(2);

to both functions makes it work for changes in both dropdown menus and adds 2 decimal points.
For anyone else who wants to do that.

Simple is best :)

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...