채택완료

이전에 올렸던 input 값 증가 질문입니다

2020-01-16 (목) 15:05:57 3,768

답변 2개 / 댓글 7개

채택된 답변
+20 포인트
2020-01-16 (목) 15:14:39

value 말고 amount 라는 attribute 를 하나 더 만들어서 따로 계산하면 되지 않나요?

getAttribute('amount') 하면 해당 attrubute 값을 가져 올수 있으니까요

답변에 대한 댓글 6개

알듯말듯한데 제가 초심자라서 attr을써서 예시로 25000이라는 가격을 변수에 담아서
결과값 value 에 변수를 넣었더니 당연히 25000만 찍혀서.. 계산을 어떻게 해줘야할지 모르겠습니다 ㅠㅠ each는 전체를 가져오고있어서 +나 - 버튼 아무거나 눌러도 25000이 나옵니다 ㅠㅠ
코드상에 보면
[code]
parseInt($(this).val());
[/code]
이부분이 value 값을 가져오게 되는것처럼

[code]
<input type="text" name="wr_20" class="count" value="0" amout="15000">
[/code]
한다음에

[code]
parseInt($(this).attr('amout'));
[/code]

하면 해당 amount 값을 가져옵니다.

그걸로 별도 변수 만들어서 따로 계산하시라는 뜻입니다. ^^
amout 이라는 attribute도 있군요.. 정말 많이 배우네요 친절한 답변 감사합니다..ㅠㅠ
한번 해보겠습니다.!! ㅠㅠ
저 정말 여러번 질문하게 되는데..
마지막에 쓴 attr 이 9000인데 계산은 되지만 마지막 것만 불러오고 다른값은 무시되고 어느 input 이든 9000을 불러오게 되는데 이부분은 each로 attr을 불러와야하나요?
이미 해결하셨으니 사족이겠지만
amount 라는 속성이 있는게 아니라 님이 만들어서 쓸수 있다는 뜻입니다.

정확한건 돌려봐야 알겠지만 공부하는데 도움이 되셨으면 합니다.
돌려보다 깨달았습니다 ㅎㅎ 속성을 직접 생성해서 쓸 수 있더군요 .
공부가 정말 많이 되었습니다 !! 감사합니다
2020-01-16 (목) 16:58:40
Copy
$(".up, .down").on("click", function() {
    let sum = 0, price = 0;
    $(".count").each(function() {
        price = parseInt($(this).closest("tr").find("td:eq(1)").text());
        sum += parseInt($(this).val()) * price;
    });

    $(".result").val(sum);
});

답변에 대한 댓글 1개

많은 고수님들이 시간내주시네요.. ㅠㅠㅠ 계란님 해결했습니다 . td의 텍스트 값을 가져오는 방법은 정말 생각치도 못했는데.. 감사합니다 ㅠㅠㅠ

답변을 작성하려면 로그인이 필요합니다.