我使用jquery numberformatter格式化输入字段的数字,这是可行的,但是我必须将其格式化以对数字进行一些计算,但这是行不通的。如何将格式化的数字转换回去,以便可以使用calculate函数?
这是数字格式的JS:
$("[id$='abzug']").keyup(function(){
$(this).parseNumber({format:"#,###", locale:"ch"});
$(this).formatNumber({format:"#,###", locale:"ch"});
val();
});
这是HTML:
<input class="form-control" id="kunst_abzug" type="text">
<input class="form-control" id="theater_abzug" type="text">
这里是计算总数的函数:
function id(id){return document.getElementById(id);}
function val(){
val_totalEingespart = parseInt(id("totalEingespart").value) || 0;
val1 = parseInt(id("kunst_abzug").value) || 0;
val2 = parseInt(id("theater_abzug").value) || 0;
var total_abgezogen = val_totalEingespart - val1 - val2;
var total_abgezogenCHF = total_abgezogen.toLocaleString('de-CH');
id("totalSum2").innerHTML = total_abgezogenCHF + ' CHF';
}
我还创建了一个js小提琴:http : //jsfiddle.net/Lffpg4xp/2/
onkeyup="val()
从每个输入元素中删除并将其添加到document.ready中的功能键盘。
$( document ).ready(function() {
$("[id$='abzug']").keyup(function(){
$(this).parseNumber({format:"#,###", locale:"ch"});
$(this).formatNumber({format:"#,###", locale:"ch"});
val();
});
});
function getElementValue(id){
var num = $('#' + id).val();
return $.parseNumber(num, {format:"####", locale:"ch"});
}
function val(){
val_totalEingespart = parseInt(getElementValue("totalEingespart")) ? parseInt(getElementValue("totalEingespart")) : 0;
val1 = parseInt(getElementValue("kunst_abzug")) ? parseInt(getElementValue("kunst_abzug")) : 0;
val2 = parseInt(getElementValue("theater_abzug")) ? parseInt(getElementValue("theater_abzug")) : 0;
var total_abgezogen = val_totalEingespart - val1 - val2;
$("#totalSum2")[0].innerHTML = total_abgezogen.toLocaleString('de-CH') + ' CHF';
}
更新的小提琴
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句