Ich habe ein kleines Problem mit meinem bisschen Code, es funktioniert, aber nicht so, wie ich es will.Festsetzen von Preisen mit und ohne Dezimalstellen
$('.prices').on('change', function() {
var elm = $(this).val();
var value = (elm) ? elm.replace(/\D/, '') : '0';
$(this).val(($('#amountDeposit').val() == 2) ? parseFloat(value).toFixed(2) : value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="row">
<div class="col-md-4">
<select id="amountDeposit" name="amountDeposit" class="form-control">
<option value="1">Percentage</option>
<option value="2">Fixed Amount</option>
</select>
</div>
<div class="col-md-4">
<input type="text" name="valueDeposit" class="form-control prices" value="0">
</div>
</div>
2 Werte in der Auswahlbox, Prozent und festen Betrag. Wenn der Betrag fest ist, dann ist der Preis 2 Dezimalstellen im Wert erforderlich.
Wenn der feste Betrag ausgewählt ist und Sie 20 eingeben - JQuery ändert es auf 20,00 - aber wenn Sie 20,00 eingeben, dann ändert JQuery es auf 2000,00 - Die Idee des Ersetzens besteht darin, alle Symbole zu entfernen, die der Benutzer eingeben könnte %.
Ich habe versucht, die ParseFloat in der Ulme - aber es ist fehlerhaft, wenn ein Symbol im Wert ist.
https://jsfiddle.net/25xfht1y/4/ –