2012-01-07 5 views
0

누군가 내 가격 상승 버튼을 클릭하면 #priceInput 입력란에 가격이 .1 높아집니다. 이건 그냥 작동하지 않습니다 .. 내가 뭘 잘못하고있어?클릭하면 자바 스크립트에 추가 하시겠습니까?

$("#priceUp").click(function(){ 
    var xyz = parseInt($("#priceInput").val()); 
    xyz=(xyz+.1); 
    $("#priceInput").val(xyz); 
}); 
+4

"작동하지 않는 것"에 대해 자세히 설명합니다. –

+0

결과는 무엇입니까? 가치가 변하는거야? 아무 반응이 없습니다? 사건이 발생했는지 확인 했니? – Yaniro

답변

2

0.1으로 가격을 올리므로 이 아닌 parseInt을 사용하고 싶을 것입니다. 또한, #priceInput의 값이 숫자인지 확인해야합니다

$("#priceUp").click(function() { 
    var xyz = parseFloat($("#priceInput").val() || 0); 
    xyz = (xyz + .1); 
    $("#priceInput").val(xyz); 
}); 

가 여기 working example입니다.

5

10 진수를 정수로 구문 분석하려고하면 수학 계산자가 숫자를 반올림하므로 해결할 수 없습니다. 당신으로 parseInt (0.1)를 실행하면
는, 결과는 그래서, parseFloat 대신 parseInt을 사용하여 0

입니다.

"0.30000000000000004" "버그"(실제로 버그는 아닙니다)를 피하려면 약간의 트릭이 필요합니다. 여기
해결 방법 : 0.1을 추가 할 수 있지만 나중에는 parseInt을 사용하기 때문에 http://jsfiddle.net/erLqa/

+2

당신의 대답은 OP에게 어떻게 잘못하고있는 것이 아니라 그것을 고치는 법을 알려줍니다. – Tadeck

+0

약간의 설명을 추가했습니다. –

+0

+1 이제 답이 큽니다. – Tadeck

4

그것은 작동하지 않을 수 있습니다. parseInt 대신 parseFloat을 사용하십시오.

+1

+1 OP가 잘못하고있는 부분을 설명합니다 (OP 요청시). – Tadeck

+0

감사합니다. 도와 줘서 기뻐요. – fcalderan

관련 문제