2014-02-07 4 views
0

jQuery 계산 함수를 사용하여 양식에 입력 할 때 점 (.)으로 쉼표 (,)를 사용할 수 있습니까? 나는 대체하지만 당신은 잘못된 변수에 대한 교체를하고있는계산할 때 점으로 쉼표를 사용 하시겠습니까?

function calculate(e){ 
    var bredd2 = bredd.toString().replace(",", "."); 
    var djup2 = djup.toString().replace(",", "."); 

    $('#m2').val($('#bredd2').val() * $('#djup2').val()); 
    $('#totalpris').val($('#m2').val() * $('#m2pris').val()); 
} 
+0

당신이 수에 계산을 할 수 있도록 당신은 당신의 문자열을 구문 분석해야'에서는 parseFloat (someString)를' –

+1

무엇'bredd '와'djup2'? 당신은 올바른 변수에 대한 치환을하지 않는 것 같습니다 ... –

+0

FYI, replace는 제공된 문자열의 첫 번째 발생만을 대체합니다. –

답변

1

나는이 작동하지 않습니다했습니다.

function calculate(e){ 
    var bredd2 = parseFloat($('#bredd2').val().replace(",", ".")), 
     djup2 = parseFloat($('#djup2').val().replace(",", ".")), 
     m2pris = parseFloat($('#m2pris').val().replace(",", ".")), 
     m2 = bredd2 * djup2, 
     totalpris = m2 * m2pris; 

    $('#m2').val(m2); 
    $('#totalpris').val(totalpris); 
} 

은 물론 당신은을 완화 할 수있는 유틸리티 함수를 만들 수 있나요 :

$.fn.parsedVal = function(){ 
    return parseFloat(this.val().replace(",", ".")) 
} 

function calculate(e){ 
    var m2 = $('#bredd2').parsedVal() * $('#djup2').parsedVal(), 
     totalpris = m2 * $('#m2pris').parsedVal(); 

    $('#m2').val(m2); 
    $('#totalpris').val(totalpris); 
} 
+0

고마워요! :) ... 작동합니다. – user3214817

관련 문제