답변 1개
채택된 답변
+20 포인트
답변에 대한 댓글 3개
�
5년 전
B
5년 전
id는 유일해야 합니다.
반복되는 구간의 코드라면, 처리를 달리 해줘야 합니다.
수량 구하는 코드가 달라져야 합니다.
반복되는 구간의 코드라면, 처리를 달리 해줘야 합니다.
수량 구하는 코드가 달라져야 합니다.
B
5년 전
- 대상을 편하게 선택하기 위해 class 지정
- 편의상 jQuery 사용
- 댓글의 구조 기반
- 가격, 계산값에 , 붙이는 것은 생략
<!-- 반복 -->
<tr>
<td class="td_num">
<label for="ct_qty_<?php echo $chk_cnt; ?>" class="sound_only" value="<?php echo $opt['ct_qty']; ?>"> 수량</label>
<span class="quantity"><?php echo $opt['ct_qty']; ?></span>
</td>
<td class="td_num_right "><input type="text" name="opt_price" class="price" value="<?php echo $opt_price ?>"> </td>
<td class="td_num_right"><span class="calc_price"><?php echo number_format($ct_price['stotal']); ?></span></td>
</tr>
<!-- /반복 -->
<script>
// 반복되는 부분 말고, 한번만 출력되면 OKAY
$('.price').on('keyup', function() {
var quantity = parseInt($(this).closest('tr').find('.quantity').text().replace(/[^\d]+/g, '')) | 0;
var price = parseInt($(this).val().replace(/[^\d]+/g, '')) | 0;
$(this).closest('tr').find('.calc_price').text(quantity*price);
});
</script>
- 편의상 jQuery 사용
- 댓글의 구조 기반
- 가격, 계산값에 , 붙이는 것은 생략
<!-- 반복 -->
<tr>
<td class="td_num">
<label for="ct_qty_<?php echo $chk_cnt; ?>" class="sound_only" value="<?php echo $opt['ct_qty']; ?>"> 수량</label>
<span class="quantity"><?php echo $opt['ct_qty']; ?></span>
</td>
<td class="td_num_right "><input type="text" name="opt_price" class="price" value="<?php echo $opt_price ?>"> </td>
<td class="td_num_right"><span class="calc_price"><?php echo number_format($ct_price['stotal']); ?></span></td>
</tr>
<!-- /반복 -->
<script>
// 반복되는 부분 말고, 한번만 출력되면 OKAY
$('.price').on('keyup', function() {
var quantity = parseInt($(this).closest('tr').find('.quantity').text().replace(/[^\d]+/g, '')) | 0;
var price = parseInt($(this).val().replace(/[^\d]+/g, '')) | 0;
$(this).closest('tr').find('.calc_price').text(quantity*price);
});
</script>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택

그런데 변경하다 보니 안되어서 죄송하지만 한번만 더여쭤보겠습니다
아래와같이 이용할려는데 합산 금액이 안나오는데 어떤게 문제일까요?
<td class="td_num">
<label for="ct_qty_<?php echo $chk_cnt; ?>" class="sound_only" onkeyup="calc()" value="<?php echo $opt['ct_qty']; ?>"> 수량</label>
<?php echo $opt['ct_qty']; ?>
</td>
<td class="td_num_right "><input type="text" name="opt_price" value="<?php echo $opt_price ?>" id="opt_price" onkeyup="calc()"> </td>
<td class="td_num_right"><input type="text" id="stotal" readonly tabindex="-1"><?php echo number_format($ct_price['stotal']); ?></td>
<script>
function calc() {
var ct_option = parseInt(document.getElementById('ct_option').value) | 0;
var opt_price = parseInt(document.getElementById('opt_price').value) | 0;
// ,가 들어가도 계산되게 하려면 아래처럼 숫자 외의 문자[열] 제거하면 됩니다.
// var ct_option = parseInt(document.getElementById('ct_option').value.replace(/[^\d]+/g, '')) | 0;
document.getElementById('stotal').value = ct_option*opt_price;
}
</script>
이렇게 적용했는데 왜안되는걸까요 ㅠㅠ?