使用jQuery更改标签的值
我有一个标签,costLabel。
我希望能够做的是根据下拉列表的选定值更改此标签的值。
这是我的HTML:
Package* Standard - €55 Monthly Standard - €49 Monthly Premium - €99 Monthly Premium - €89 Monthly Platinum - €149 Monthly Platinum - €134 Monthly We bills quarterly/annually in advance
See Pricing for more details
进入成本标签的值是
- 标准=“每季度165欧元”
- StandardAnn =“每年588欧元”
- 保费=“每季度297欧元”
- PremiumAnn =“每年1068欧元”
- 白金=“每季度447欧元”
- PlatinumAnn =“每年1608欧元”
我确实有以下代码,根据下拉菜单计算成本,但注册表单后来变得更简单(即折扣选择没有消失),我在调整jQuery时遇到了一些麻烦。 有人可以帮忙吗?
$(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); }); });
我似乎对你的html结构有一个盲点,但我认为这就是你正在寻找的。 它应该从select
输入中找到当前选择的选项,将其文本分配给newVal
变量, 然后将该变量应用于#costLabel
标签的value
属性:
jQuery的
$(document).ready( function() { $('select[name=package]').change( function(){ var newText = $('option:selected',this).text(); $('#costLabel').text('Total price: ' + newText); } ); } );
HTML:
上面的工作演示: JS Bin
val()更像是attr(’value’)的快捷方式。 对于您的用法,请使用text()或html()代替
.text是正确的,以下代码适用于我:
$('#lb'+(n+1)).text(a[i].attributes[n].name+": "+ a[i].attributes[n].value);
validation(HTML5):属性’name’不是元素’label’的有效属性。