0

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

例如:如果选择以下之一。.

<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 中的任何内容。

4

3 回答 3

1
  • on('change'...不选择
  • if(this.value == 'B&W')
  • 您可以重构为:base_price += 0.2;
  • 你不需要trigger('select');
于 2012-07-16T14:54:17.317 回答
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成一个单独的变量。您可以保持原样,但我尝试采用更易于调试的风格,这将使测试更加容易。

于 2012-07-16T14:56:49.110 回答
0

也许你只是错过了报价?

if (this.value == "B&W")
...
于 2012-07-16T14:51:54.560 回答