I have a label, costLabel.
What I want to be able to do is change the value of this label depending on the selected value of a dropdownlist.
This is my HTML:
<table>
<tr>
<td width="343">Package*</td>
<td colspan="4">
<select class="purple" name="package">
<option value="standard">Standard - €55 Monthly</option>
<option value="standardAnn">Standard - €49 Monthly</option>
<option value="premium">Premium - €99 Monthly</option>
<option value="premiumAnn" selected="selected">Premium - €89 Monthly</option>
<option value="platinum">Platinum - €149 Monthly</option>
<option value="platinumAnn">Platinum - €134 Monthly</option>
</select>
</td>
<tr>
<td width="343">
<p>We bills quarterly/annually in advance</p>
<p>See <a href="#dialog" name="modal">Pricing</a> for more details</p>
</td>
<td colspan="4"><label id="costlabel" name="costlabel">Total Cost:</label></td>
<tr>
</table>
The values that go into the cost label are
- Standard = "€165 Quarterly"
- StandardAnn = "€588 Annually"
- Premium = "€297 Quarterly"
- PremiumAnn = "€1068 Annually"
- Platinum = "€447 Quarterly"
- PlatinumAnn = "€1608 Annually"
I did have the following code in place which calculated the cost depending on the dropdown menu, but the registration form has since changed to be more simpler(i.e. discountselection is not gone), and I'm having a bit of trouble adapting the jQuery. Can someone help?
$(function() {
$("#discountselection, select[name=package], input[name=discount]").
change(function() {
var
selected_value = $("#discountselection").val(),
discount = [12, 24, 36],
package = $("select[name=package]").val(),
package_prices = {'standard': 49, 'premium': 85, 'platinum': 134 },
cost = package_prices[package] * discount[selected_value-1];
$("#costlabel").val(cost);
});
});
Validation (HTML5): Attribute 'name' is not a valid attribute of element 'label'.
I seem to have a blind spot as regards your html structure, but I think that this is what you're looking for. It should find the currently-selected option from the
select
input, assign its text to thenewVal
variable and then apply that variable to thevalue
attribute of the#costLabel
label:jQuery
html:
Working demo of the above at: JS Bin
val() is more like a shortcut for attr('value'). For your usage use text() or html() instead
.text is correct, the following code works for me: