숫자에 콤마찍어 보여주기

숫자에 콤마찍어 보여주기

QA

숫자에 콤마찍어 보여주기

답변 2

본문

아래의 소스는 체크박스와 라디오 버튼 체크시 기본값에다가 체크한 해당 값이 더해지는 소스입니다.

맨밑에 붉은색 소스는 합계가 나오는 곳인데 콤마를 찍어서 보여주려면 어찌해야할까요?

현재는 그냥 숫자만 나옵니다(예 : 123456789원) 123,456,789원 <=요렇게 보여지고 싶어요.

 

 

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<script>

function car() {

    // (기본)차량가격의 value를 받아 할당!

    var basic_car = Number(document.getElementById("total").defaultValue);

    // 체크박스 input 요소의 갯수 확인!

    // var inputIndex = $("#estimate_tbody input"); // jQuery

    var inputIndex = document.getElementById("plus").getElementsByTagName("input");

 

    for (var i=1; i<=inputIndex.length; i++) {

        var chkObj = document.getElementById("opt"+i);

        if (chkObj.checked) {

            // 가격 추가(+)

            basic_car += Number(chkObj.value);

        }

    }

    // (기본)차량가격 value 값이 추가+

    document.getElementById("total").value = basic_car;

}

 

</script>

 

 

<div style="width:550px;">

 

<span class="font125">제품명</span><br><hr class="style-three">

 

 

<div id='sub_line'>

<ul>

<li class="t11" style="width:135px;padding:7px;height:20px;"><B>옵션명</B>

<li class="t222" style="width:185px;padding:7px;height:20px;"><B>추가 가격</B>

<li class="t22" style="width:185px;padding:7px;height:20px;"><B>선택</B></li>

</ul>

</div>

<div id='plus'>

    <div id='sub_line'>

<ul>

<li class="t4-10"><label for="opt1">인조가죽시트</label>

<li class="t440">350,000원

<li class="t40"><!--옵션 체크 박스를 클릭할 때마다 car() 함수에 지정된 실행문 실행!--><input type="radio" name="opt1" id="opt1" value="0" onclick="car();" checked/><input type="radio" name="opt1" id="opt4" value="350000" onclick="car();"/></li>

</ul>

<ul>

<li class="t4-10"><label for="opt2">네비게이션</label>

<li class="t440">250,000원

<li class="t40"><input type="checkbox" name="opt2" id="opt2" value="250000" onclick="car();"/></li>

</ul>

<ul>

<li class="t4-10"><label for="opt3">선루프</label>

<li class="t440">440,000원

<li class="t40"><input type="checkbox" name="opt3" id="opt3" value="440000" onclick="car();"/></li>

</ul>

</div>

</div>

<div id='sub_line'>

<ul>

<li class="t4-1" style="width:135px;padding:7px;height:20px;">(기본)차량가격

<li class="t4" style="width:385px;padding:7px;height:20px;">13,450,000원</li>

</ul>

</div><br><br>

<div class="font130">총금액 : <input type="text" name="total" id="total" value="13450000" readonly="readonly" style="border: 0px;" class="font130"/></div>

 

</div>

이 질문에 댓글 쓰기 :

답변 2

아래와 같이 해결했습니다.

<script>

var number, nArr;

function number_format( number )

{

  number=number.replace(/\,/g,"");

  nArr = String(number).split('').join(',').split('');

  for( var i=nArr.length-1, j=1; i>=0; i--, j++)  if( j%6 != 0 && j%2 == 0) nArr[i] = '';

  return nArr.join('');

 }

</script>

 

body에 onload='total.value=number_format(total.value) 추가해서 해결했습니다.

그러나, 체크박스나 라디오 버튼 선택시 콤마가 없어져서 해당 div에는  onchange='total.value=number_format(total.value)' 를 추가해줬더니 아주 잘되네요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,342
© SIRSOFT
현재 페이지 제일 처음으로