2016-12-09 1 views
0

인보이스 프로젝트에서 작업 중이며 부품 섹션에 회사 가격과 고객 가격이 있습니다. 다음과 같이여러 자바 스크립트 작동해야하는 문

신경 쇠약 증세는 다음과 같습니다 부품 가격이 4.99로 1

경우, 14.95 및 자사의 평평한 수수료 부품 가격이 5 49.99, 자사의 4 배 가격에 경우

var five = 4.99; 
var fifty = 49.99; 
var four = 4; 
var fourteenninefive = 14.95; 

var qty4 = h.find('[name="requestpartquantity[]"]'); 
var price4 = h.find('[name="requestpartdb[]"]'); 
var total4 = h.find('[name="requestcustomerpartdb[]"]'); 

if (price4 < five) { 

total4.val(qty4.val() * fourteenninefive); 

} else if (price4 <= fifty) { 

total4.val(qty4.val() * price4.val() * four); 

} else { 

} 

첫 번째 if 문은 작동하지만 두 번째 if 문은 작동하지 않습니다. 파트 가격이 고객 총 80

10 (가격해야 의미 (10)의 경우

total4.val((+qty4.val()) * (+price4.val()) * four); 

enter image description here

:

난 당신의 제안하지만, 아래는 여전히 오프 참조 스크린 샷을 시도) * 2 (수량) * 4 = 80

+0

작동하지 않는다고 말하면 ... 실패하면 'price4'값은 무엇입니까? 'else if' 블록을 전혀 실행시키지 않습니까? 아니면 정확한 계산이 필요합니까? – moopet

+0

'price4'를 숫자 값과 비교하는 것이 당신이 기대하는대로하고있는 것이 확실합니까? –

+0

'total4.val (qty4.val() * price4.val() * four); '-'else4' 조건에서'price4'가 직접 사용되는 동안'price4.val()'이 사용되었습니다. – RaR

답변

0

<input>의 가격이인 것으로 가정 할 때특성을 사용하려면 정수로 변환해야합니다 (코드에서 +). 또한 price4에서 .val() 방법을 사용하는 것을 잊어 버렸습니다.

var five = 4.99; 
var fifty = 49.99; 
var four = 4; 
var fourteenninefive = 14.95; 

var qty4 = h.find('[name="requestpartquantity[]"]'); 
var price4 = h.find('[name="requestpartdb[]"]'); 
var total4 = h.find('[name="requestcustomerpartdb[]"]'); 

if (+price4.val() < five) { 

total4.val(+qty4.val() * fourteenninefive); 

} else if (+price4.val() <= fifty) { 

total4.val((+qty4.val()) * (+price4.val()) * four); 

} else { 

}