У меня есть несколько вариантов выбора в форме с ценами, прилагаемыми к каждому с data-price
. Когда какая-либо опция изменяется или выбрана, мне нужно обновить цену, основанную на всех выбранных параметрах. Я попытался следующие:Цена со скидкой по выбранным параметрам
HTML:
<h3>Size</h3>
<select class="form-control calculate" id="size" name="size">
<option data-price="5.00" value="Small">Small</option>
<option data-price="10.00" value="Medium">Medium</option>
<option data-price="15.00" value="Large">Large</option>
</select>
<br />
<h3>Packing</h3>
<select class="form-control calculate" id="packaging" name="packaging">
<option data-price="0" value="Standard">Standard</option>
<option data-price="20.00" value="Shrink">Upgraded</option>
</select>
<br />
<h4>PRICE</h4>
<span id="item-price">12.99</span>
JQuery:
var basePrice = 12.99;
$(".calculate").change(function() {
newPrice = basePrice;
$(".calculate option:selected").each(function() {
newPrice += $(this).data('price')
});
$("#item-price").html(newPrice);
});
Я использую JQuery 1.11.2, который сцепляет каждый параметр, как струнный вывода:
12.9910.0020.00
, но мне нужно добавить их вместе как число и дать мне одно значение.
Если я использую JQuery 1.7.2 это дает мне правильное значение:
42.99 (12.99 + 10.00 + 20.00)
Как я могу это сделать? Я должен придерживаться jQuery 1.11, так как некоторые из моих других скриптовых ретрансляторов на этой версии или выше
Это работает, как ожидалось в JQuery 1.10.1 и 2.1.3 ; вы можете записать отчет об ошибке. – Blazemonger
$(). Данные были добавлены в 1.2.3. Здесь: https://api.jquery.com/jquery.data/ – stackoverfloweth