使用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’的有效属性。