2016-07-30 2 views
2

onChange 명령을 설정하기 전에 이전 수량 값을 검색하는 방법을 아는 사람이 있습니까?JQuery onChange 이전 값 얻기

현재 입력란에 사용 중입니다. CSS를 사용하면 문제가 발생합니다. enter image description here

값을 변경하면 새 수량과 새로운 총 비용을 쉽게 설정할 수 있습니다.

$('#p1').on('change', function() { 
     var cost = $('#p1_price').text(); 
     var quantity = $('#p1').val(); 
     var total = cost * quantity; 
     total = parseFloat(total).toFixed(2) 
     $('#p1_total').text(total); 
     $('#total_price').text(+$('#total_price').html() + +cost); 
    }); 

는 사람이 있나 - 내가 때 아래로 누르지 양의 값이 증가 또는 JQuery와 같습니다

감소 된 경우에는 내가보고는 새 수량 이전의 양을 비교하는 얻을 수 없다 문제에 대한 약간의 조명. 대단히 감사하겠습니다!

+0

'변경'처리기 전에 변수에 보관하십시오 ... – Rayon

+0

여러 제품이있는 경우를 제외하고 저는 60 변수를 설정해야합니다. 그 바로 위에 있다는 뜻인가요? 내 JQuery 지식은 최근의 것입니다. 그래서 내 무지를 용서해주십시오. –

+0

아래쪽 화살표를 누를 때마다 기능을 호출 할 수있는 방법이 있습니까? – ggderas

답변

0

당신은 오히려 모든 입력 변수를 설정하는 것보다 자체 아래 <select> 드롭을 사용할 수 있습니다 당신이 당신의 현재 설정 값을 저장할 수 있으며, 이러한 데이터는 $(this).data("last-value");처럼 jQuery를에 액세스 할 수 select 태그에 data-last-value="43" 설정을 위해 어딘가에 저장해야 할 수도 있습니다

Ref.for 데이터 - https://api.jquery.com/data/

+0

확실히 더 좋은 방법이 있습니다. 더 많은 AJAX를 사용하면 어떻게됩니까? AJAX 파일에서 총계를 설정했다면 아약스 파일에서 파일을 반환하고 현재 페이지를 업데이트 할 수 있습니까? –

+0

ajax 파일의 파일을 반환한다는 것은 무엇을 의미합니까? 예 jQuery와 ajax를 통해 항상 현재 페이지 내용을 편집 할 수 있습니다 – Rupal

+0

값을 의미했습니다 –

0

이 나는 ​​그것이 이전 값을 저장하는 입력 상자에 초점으로 내가 사용했던 것입니다. 이전 값이 변경되면 여전히 설정됩니다. 나는 원래 이런 식으로 포커스를 사용하는 것을 생각하지 않았다. 나는 그것을 다른 방향으로 만들었지 만 일단이 인용문을 읽는 것은 많은 감각을 만들었다 !!

(function() { 
    var previous; 

    $("#p1").on('focus', function() { 
     previous = this.value; 


    }).change(function() { 

     alert(previous); 
     previous = this.value; 
    }); 
})(); 
0

내 생각에 ... 개체에있는 배열!

당신은 배열을 자바 스크립트 객체

var inputObj = 
{ 
    var index : -1; //When the input has nothing so far 
    var values : []; 
}; 

에서 정의한 수 그리고 매번 입력이

$('#p1').on('change', function() { 
     var cost = $('#p1_price').text(); 
     var quantity = $('#p1').val(); 
     var total = cost * quantity; 
     total = parseFloat(total).toFixed(2) 
     $('#p1_total').text(total); 
     $('#total_price').text(+$('#total_price').html() + +cost); 

     //Add a new value to the array and refresh the index of the current value 
     inputObj.values.add(total); 
     inputObj.index = inputObj.values.length + 1; 
    }); 

변경 그리고 매번 당신이 아래로 버튼을 눌러

:

function pressDown() 
{ 
    inputObj.index = inputObj.index - 1; 
    $('#p1_total').text(inputObj.values[inputObj.index]); 
} 
0

을 값을 변경하기 전에 값을 JavaScri의 입력에 저장할 수 있습니다. pt 전역 변수 (변수 이름 앞의 var를 제거하십시오) 또는 쿠키에서.