我朋友网站上的许多产品都有不同的变体。根据您选择的,价格会发生变化。价格代码如下:
<div id="WA_price">
<p class="WA_price2">200 €</p>
</div>
当您选择变体时,代码如下所示:
<dd class="last">
<div class="input-box">
<select name="super_attribute[149]" id="attribute149" class="required-entry super-attribute-select">
<option value="">Option wählen…</option>
<option value="28" price="139" data-label="1000 mm">1000 mm -10 €</option>
<option value="30" price="149" data-label="1200 mm" class="selected">1200 mm</option>
<option value="32" price="159" data-label="1400 mm">1400 mm +10 €</option>
</select>
</div>
</dd>
我发现我必须将选项标记中的值添加到<p class="WA_price2">200 €</p>
中的200欧元。
我无法弄清楚如何获得价格值并将其加到p.WA_price2中的价格中。
我想您首先必须删除&nbps;€
,然后将数字作为值,将其添加到价格值并再次插入到p-tag中。
我只知道如何删除 €
jQuery(".WA_price2").each(function() {
var $this = jQuery(this);
$this.html($this.html().replace(/ €/g, ''));
});
我真的需要一些帮助而且无法弄明白。您可以找到我的代码段here。
答案 0 :(得分:1)
您已经知道如何摆脱 €
:
$this.html().replace(/ €/g, '')
现在您需要将其解析为数字并将其添加到所选值:
$this.html((parseInt($this.html().replace(/ €/g, '')) + parseInt(jQuery("#attribute149").val())) + " €");
我假设您需要将#attribute149的值添加到内部文本的编号中。如果我错了,那么我恳请你创建一个小提琴,你现在拥有的东西以及用户可以用预期结果做的一些场景。
编辑:
这就是JS代码的样子:
var priceContext = jQuery("#WA_price > .WA_price2")
var initialValue = parseInt(priceContext.html().replace(/ €/g, ''));
jQuery("#attribute149").change(function() {
priceContext.html(initialValue + parseInt(jQuery(this).find("option[value=" + jQuery(this).val() + "]").attr("price")) + " €");
});
请参阅Fiddle。