콤마찍기가 스크립트안에서 안되네요.
본문
숫자로 계산해서 문자로 콤마를 찍어야 되지않을 까해서 아래 소스를 적용해도 콤마가 안찍히네요.
여분필드 숫자에 <?php echo number_format($board['bo_5']); // ?>는 되는데요.
스크립 함수안에
-->
var value = $('#value').text();
var value2 = value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
$('#total').text(value2);
<-- 이걸 넣어도 안되서요.
------> 적용 소스 시작 <-----
<script>
function calc( event )
{
var result = 0;
var desc_txt = [];
var obj;
// var form_obj = document[event.form.name];
var form_obj = event.form;
var form_length = form_obj['checkbox'].length;
var desc = document.getElementById('desc');
for ( var i=0; i<form_length; i++ )
{
obj = form_obj['checkbox'][i];
if ( obj.checked == true ) {
result += parseInt(obj.getAttribute('value'));
// desc_txt.push(obj.parentNode.querySelector('p').innerHTML);
desc_txt.push(obj.parentNode.querySelector('p').innerHTML + ' (' + obj.value + ')');
}
}
desc.innerHTML = desc_txt.join(',');
form_obj['result'].value=result;
}
</script>
<label for="wr_4">4번 금액 </label>
<form>
<ul>
<li>
<p>테스트상품1</p>
<input type="checkbox" name="checkbox" value="<?php echo $board['bo_4'] ?>" id="wr_4" onclick="calc( this );" /><?php echo number_format($board['bo_4']); // ?>
</li>
<li>
<p>테스트상품2</p>
<input type="checkbox" name="checkbox" value="<?php echo $board['bo_5'] ?>" id="wr_5" onclick="calc( this );" /><?php echo number_format($board['bo_5']); // ?>
</li>
</ul>
<div class="total">
<div id="desc"></div>
<input type="text" name="result" value="0" />
</div>
</form>
-----> 소스 종료 <-----
--------> 스크립트안에 "desc" 부분과 "value" 콤마찍는 것을 넣어도 안되는이유가 뭔지 모르겠습니다.
아래 예제) --> 아래 부분은 되는데요. 위에 클래스줘도 안되네요.
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<span id="total">60000</span><span>원</span>
<script>
var total = $('#total').text();
var total2 = total.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
$('#total').text(total2);
</script>
아래 적용 테스트 링크 예제 -->
https://wedgo1.cafe24.com/POTAL/bbs/write.php?bo_table=CELL2
답변 4
<script>
var total = $('#total').text();
var total2 = total.toLocaleString();
$('#total').text(total2);
</script>
이걸로 해보세요
<span id="stotal">60000</span><span>원</span>
<script>
var total = $('#stotal').text().toString();
var total2 = total.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
$('#stotal').text(total2);
</script>
id = total 이 겹쳐서 그랬었습니다.
이름을 바꾸시면 됩니다.
!-->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
var desc = $('#desc').text().toString();
var desc2 = desc.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
$('#desc').val(desc2);
</script>
<p> 합계 : <input type="text" name="result" id="desc" value="0" /></p>
input 박스에 넣으실때는 val을 이용하셔야 합니다.
!-->class="stotal"으로 바꾸는게 아니라요.
가지고 오셔야 하는 텍스트가 있는 div에 id를 바꾸셔야 합니다.
<div class="stotal">
<div id="desc"></div>
<input type="text" name="result" value="0" />
</div>
이 소스 기준이라면 id는 desc인것 입니다.
!-->