2011-02-07 2 views
0

두 개의 입력을 jquery에 추가하여 입력 값 (5 + 2)에 "제품"(50.25 달러)을 곱하면됩니다. 입력에 클래스 나 ID를 할당하지 않고 모든 입력을 어떻게 추가 할 수 있습니까? 여기 나를 안내 해주실 수 있습니까?Jquery 양식 - 입력 사항을 추가 할 수 있습니까?

<input type="text" value="5" /> <input type="text" value="2" /> 
<h3></h3> 

<script> 
$("input").keyup(function() { 
    var value = parseFloat($(this).val()); 
    var item_price = parseFloat("50.25"); 

    $("h3").text(value * item_price); 
    }).keyup(); 
</script> 

이 코드는 가장 최근에 편집 된 필드를 출력합니다. 예를 들어, 첫 번째 필드의 값을 2로 변경하면 합계가 "100.5"로 변경되고 다른 필드를 변경하면 해당 필드를 기반으로 합계가 변경됩니다.

키 리스너를 $ ("input")에 삽입 해 보았습니다. each() selector가 있지만 결과가 반환되지 않았으므로 분명히 코드에서 빠져 나왔습니다.

$("input").each(function() { 
    value += parseFloat($(this).val()); 
    $("input").keyup(function() { 
    var value = parseFloat($(this).val()); 
    var item_price = parseFloat("50.25"); 

    $("h3").text(value * item_price); 
}).keyup(); 
}); 

답변

0

이것은 당신이 찾고있는 것 같습니다. 모든 계산을 함수에 넣고 해당 함수를 키 누르기에 바인딩하십시오. 데모에서했던 것처럼 초기 계산을하기 위해 바로이 함수를 호출하고 싶을 것입니다.

라이브 데모보기 : http://jsfiddle.net/za2vJ/4/

0

귀하의 범위 지정이 잘못되었습니다 :

$("input").keyup(function() { 
    var itemPrice = 50.25; 
    var total = 0.0; 
    $("input").each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $("h3").html(total * itemPrice); 
}).keyup(); 
+0

아니요, 작동하지 않습니다. 필드를 편집 할 때마다 '합계'에 추가되기 때문에. 또한 신들의 녹색 지구에서 불필요한 var, var total을 추가하여 자원을 낭비하는 이유는 무엇입니까? 원 번호를 출력하지 않겠습니까? – Yisroel

+0

@Yisroel 그럼 이걸 곧장 갖다 드리자 ... 네가 도움을 청하러 왔을 때 네가 잘 알고 있네. 이것이 당신이 원하는 것을하지 않을 수있는 유일한 이유는 당신의 질문이 잘못 표현 되었기 때문에 오해 한 것 같습니다. 이것은 다른 두 개의 대답에 의해 제안 된 것과 똑같은 코드입니다. 증명은 푸딩에 있습니다 : ** [jsfiddle] (http://jsfiddle.net/lthibodeaux/8bDgL/) ** – lsuarez

0

중요한 점은 입력을 통해 루프하고 그 값을 추가합니다.

var totalInput = 0; 
$("input").keyup(function() { 
    //zero out the global var totalInput 
    totalInput = 0; 
    $("input").each(function(){ 
     //for each input, add value to global totalInput 
     totalInput += $(this).val() 
    }); 

    //setup price 
    var item_price = parseFloat("50.25"); 

    //display price times totalInput 
    $("h3").text(totalInput * item_price); 
}); 
관련 문제