完成一些研究后,我向您寻求一些 jquery 数学帮助。
我想通过“option rel=”更改说明产品价格的文本字段
我把html代码放在这里:http://jsfiddle.net/YjLM7/
因此,如果选择列表指出:
<option selected="selected" rel="price-" value="0">50 x 50 cm</option>
显示标准价格。
如果我将选择列表更改为:
<option rel="price-100" value="1">100 x 100 cm</option>
价格应增加 100(如果选择第一个选项,则返回 -100)。
非常感谢您的帮助!
完整代码如下:
<select>
<option selected="selected" rel="price-" value="0">50 x 50 cm</option>
<option rel="price-100" value="1">100 x 100 cm, Price add: € 100,00</option>
</select>
<p>Price</p>
<p><strong>200 €</strong></p>
<form method="post" action="catalog/category-1/product-1.html">
<input type="hidden" value="" name="productid">
<input type="submit" class="button" value="Add to cart" name="addcart">
</form>
最佳答案
我建议采用不同的方法:将商品的实际价格放入 option
的 data-
属性中,并更改该 显示的文本选项
取决于所选择的内容。如果您的下拉菜单有多个选项,这将带来更大的灵 active 。
HTML:
<select class="item">
<option selected="selected" data-price="200">50 x 50 cm</option>
<option data-price="300">100 x 100 cm</option>
<option data-price="400">150 x 150 cm</option>
</select>
JS:
$('.item').each(function(i,sel) {
var $sel = $(sel);
$sel.find('option').each(function(j,opt) {
var $opt = $(opt),
optprice = $opt.data('price'),
selprice = $sel.find('option:selected').data('price'),
diff = optprice - selprice,
diffaddsubtr = (diff > 0) ? "- add" : (diff < 0) ? "- subtract" : "",
diffamount = Math.abs(diff) || "";
$opt.find('.diffaddsubtr').text(diffaddsubtr).end()
.find('.diffamount').text(diffamount);
});
});
关于html - 通过 <option rel =""> 使用 jquery 更改价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179009/