체크박스 숫자 계산 질문드립니다.
본문
안녕하세요
체크박스 클릭하면 하단에 자동으로 숫자가 합해져서 나오고 있습니다.
<script>
function calc( event )
{
var result = 0;
var obj;
var form_obj = document[event.form.name];
var form_length = form_obj['checkbox'].length;
for ( var i=0; i<form_length; i++ )
{
obj = form_obj['checkbox'][i];
if ( obj.checked == true )
result += parseInt(obj.getAttribute('value'));
}
form_obj['result'].value=result;
}
</script>
<ul>
<li>
<img src="thum1.jpg">
<p>테스트상품1</p>
<input type="checkbox" name="checkbox" value="1000" onclick="calc( this );" />1000
</li>
<li>
<img src="thum2.jpg">
<p>테스트상품2</p>
<input type="checkbox" name="checkbox" value="2000" onclick="calc( this );" />2000
</li>
</ul>
<div class="total">
<input type="text" name="result" value="0" />
</div>
숫자합계는 잘되는데요..
이때 총합계 위에
테스트상품1 : 1000원, 테스트상품2 : 2000원
이런식으로 선택한 박스의 이름과 가격이 같이 뜨게 하고 싶습니다.
value 값에 이름과 가격을 동시에 넣는건 안될것 같고
제가 알고있는 한계치를 초과하여
염치없이 글을 올려봅니다.ㅠ
혹시 잘 알고 계신 고수님들 도움을 부탁드리옵니다...
!-->답변 1
<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.innerHTML = desc_txt.join(',');
form_obj['result'].value=result;
}
</script>
<form>
<ul>
<li>
<img src="thum1.jpg">
<p>테스트상품1</p>
<input type="checkbox" name="checkbox" value="1000" onclick="calc( this );" />1000
</li>
<li>
<img src="thum2.jpg">
<p>테스트상품2</p>
<input type="checkbox" name="checkbox" value="2000" onclick="calc( this );" />2000
</li>
</ul>
<div class="total">
<div id="desc"></div>
<input type="text" name="result" value="0" />
</div>
</form>
답변을 작성하시기 전에 로그인 해주세요.