jQuery - 在选择时减去数据的值

时间:2012-07-16 14:49:56

标签: jquery variables var addition

我想知道是否可以在选择下拉列表时添加值。

例如: 如果选择以下其中一个..

<select class="item_print-colour">
    <option value="0" selected="selected" disabled="disabled">Print Colour..</option>
    <option value="B&W" value="Print Colour:"> Black And White </option>
    <option value="Full-Colour"> Full Colour </option>
</select>

我希望以下data-base_price增加0.20:

<span class="item_price cd_price" data-base_price="0.53"></span>


我已尝试过的内容 但无论我尝试什么,我都无法改变选择:

$(".item_print-colour").on("select", function() {
    var base_price = $(".cd_price").data("base_price");
    var addition = 0;

    if (this.value = B&W) addition = 0.20;
    $(".cd_price").text((base_price + addition).toFixed(2));
    }).trigger("select");

修改

我还有其他因素决定data-base_price,这就是为什么我要添加到当前data-base_price中的任何内容。

3 个答案:

答案 0 :(得分:1)

  • on('change'...未选择
  • if(this.value == 'B&W')
  • 您可以重构为:base_price += 0.2;
  • 您不需要trigger('select');

答案 1 :(得分:0)

也许你只是错过了报价?

if (this.value == "B&W")
...

答案 2 :(得分:0)

尝试以下方法:

$(".dvd_case_quantity").on("change", function() {
    var base_price = $(".cd_price").data("base_price");
    var addition = (this.value == 'B&W' ? 0.20 : 0);
    var newPrice = (base_price + addition).toFixed(2);
    $(".cd_price").text(newPrice);
});

注意:上述解决方案将newPrice分隔为单独的变量。你可以保持原样,但我尝试采用更加调试友好的风格,这将使测试更容易。