我有一个总值(720),以及一个具有值的选择器,当您选择1项时,它会添加到720,例如,我得到740。但是,如果我选择更高或更低的值,它将添加到740。而不是720。我发现了有关updateTotal的内容。但是我只是愚弄了一下,无法使其正常工作。
所以我希望有人可以告诉我如何做到这一点。谢谢:)
我的html值输出:
<div class="SummaryRow">
<h1><input type="yeets" name="_mdjm_event_cost" id="yett" class="mdjm-input-currency required" readonly="readonly" value="" placeholder="Totaal €0.00" style="
height: 100px;
width: 275px;
margin-top: -40px;
color: black;
font-weight: bold;"/>
</h1>
</div>
我的html选择器:
<select name="iFenceCorners" id="FenceCorners" class="AutosubmitCalculator" tabindex="3">
<option value="0" selected="selected" data-price="00.00">Geen hoeken</option>
<option value="1" data-price="20.00">1 hoek</option><option value="2" data-price="40.00">2 hoeken</option><option value="3" data-price="60.00">3 hoeken</option><option value="4" data-price="80.00">4 hoeken</option>
<option value="5" data-price="100.00">5 hoeken</option><option value="6" data-price="120.00">6 hoeken</option><option value="7" data-price="140.00">7 hoeken</option><option value="8" data-price="160.00">8 hoeken</option>
<option value="9" data-price="180.00">9 hoeken</option><option value="10" data-price="200.00">10 hoeken</option>
</select>
我的jquery:
$(document).ready(function(){
base = 0;
$("#FenceCorners").on("change", function() {
var prev = $("#yett").val();
prev = prev.split('€')[1];
var total = (base * 100 + $(this).find(":selected").data("price") * 100) / 100; // selector HOEKEN
total = parseInt(prev) + parseInt(total);
$("#yett").val('Total €' + total.toFixed(2).replace(/\./g, ',')); // selector value added to total
});
$(function() {
var begin = 720; // start value
$("#yett").val('Total €' + begin.toFixed(2).replace(/\./g, ',')); // total value
});
});
答案 0 :(得分:2)
1。每次使用begin
变量向其添加新的选定值。
2。var base
完全不需要。
$(document).ready(function() {
var begin = 720;
$("#yett").val('Total €' + begin.toFixed(2));
$("#FenceCorners").on("change", function() {
var prev = $("#yett").val();
prev = prev.split('€')[1];
var total = ($(this).find(":selected").data("price") * 100) / 100;
total = parseInt(begin) + parseInt(total); //use begin
$("#yett").val('Total €' + total.toFixed(2));
});
});
正在工作的小提琴:-http://jsfiddle.net/u69jyxkm/
答案 1 :(得分:1)
如果您始终使用720,只需更改total = parseInt(prev) + parseInt(total);
到total = 720 + parseInt(total);
$(document).ready(function(){
base = 0;
$("#FenceCorners").on("change", function() {
var prev = $("#yett").val();
prev = prev.split('€')[1];
var total = (base * 100 + $(this).find(":selected").data("price") * 100) / 100; // selector HOEKEN
total = 720 + parseInt(total);
$("#yett").val('Total €' + total.toFixed(2).replace(/\./g, ',')); // selector value added to total
});
$(function() {
var begin = 720; // start value
$("#yett").val('Total €' + begin.toFixed(2).replace(/\./g, ',')); // total value
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div><h1>
<input type="yeets" name="_mdjm_event_cost" id="yett" class="mdjm-input-currency required" readonly="readonly" value="" placeholder="Totaal €0.00" style="
height: 100px;
width: 275px;
margin-top: -40px;
color: black;
font-weight: bold;"/>
</h1>
</div>
<select name="iFenceCorners" id="FenceCorners" class="AutosubmitCalculator" tabindex="3">
<option value="0" selected="selected" data-price="00.00">Geen hoeken</option>
<option value="1" data-price="20.00">1 hoek</option><option value="2" data-price="40.00">2 hoeken</option><option value="3" data-price="60.00">3 hoeken</option><option value="4" data-price="80.00">4 hoeken</option>
<option value="5" data-price="100.00">5 hoeken</option><option value="6" data-price="120.00">6 hoeken</option><option value="7" data-price="140.00">7 hoeken</option><option value="8" data-price="160.00">8 hoeken</option>
<option value="9" data-price="180.00">9 hoeken</option><option value="10" data-price="200.00">10 hoeken</option>
</select>