채택완료

체크박스

2016-09-05 (월) 10:07:00 2,938

체크박스 계산인데요,,,

자바로 어렵게 적용했습니다. 자바 망든게 아니그,,,소스찾아서요,,ㅋ

wr_1을 분할필드로 이렇게

          <input type="checkbox"  id="checkboxG1" class="css-checkbox" name="ext1_00" value="3000" <? if($ext1_00 == "3000")  echo 'checked="checked"'; ?> >

          포도 (3,000원/송이)

 

 <input type="checkbox"  id="checkboxG2" class="css-checkbox" name="ext1_01" value="2000" <? if($ext1_01 == "2000")  echo 'checked="checked"'; ?> >

        사과(2,000원/개)

<td align="center"><input type="text" name="wr_2" id="sum_fruit" class='input_value'  value="<?=$write[wr_2]?>" size="15" /> 원</span></td> 

1.글작성시에는 체크박스의 선택값의 합계가 wr_2에 잘 나타나고 잘 저장됩니다.

그런데 수정하려고 하면 저장된 값(wr_2)에서 특정 체크박스를 해제하면 값이 바뀌어야 하는데 안되는 군요,,wr_2 input에서 무슨 처리를 해주어야 할 거 같은데..

어떻게 해야 하는건지..도움이 필요합니다.

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

<script>

$('.css-checkbox').on('click', function() {

  var sum = 0;

  $('.css-checkbox').each( function() {

    if ($(this).is(':checked')) sum += Number($(this).val()) ;

  });

  $('#sum_fruit').val(sum);

});

</script>

답변에 대한 댓글 1개

2016-09-05 (월) 13:20:30
아오,,,깔끔하게 됩니다...
실력이 참 대단하십니다~
감사합니다.
2016-09-05 (월) 10:28:49

해당 javascript는 무엇인지도 보여주세요 

답변에 대한 댓글 2개

2016-09-05 (월) 10:41:17
감사합니다~ 이렇게 되어 있더군요,,

<script type="text/javascript">
var autoCalc = (function(){
return function(){
// 문서 로딩 확인
if(!document.body)
return setTimeout(arguments.callee, 100);

// 폼
var inputs = document.forms.fwrite.elements;

// 항목에 이벤트 등록
for(var input, parent, i=0, c=inputs.length; i<c; i++){
input = inputs[i];
if(input.type!='checkbox')
continue;
parent = group(input);
if(!parent)
continue;
input.group = parent;
input.onclick = checked;
input.checked && (input.onclick());
}
}

// 그룹 찾기
function group(element){
var name = false;
do {
element = element.parentNode;
if(element.nodeType==1 && element.tagName=='DIV'){
name = element.className;
break;
}
}while(element);
return name;
}

// 클릭했을 때
function checked(){
var value = Number(this.value);
if(!value)
return;

value = this.checked ? value : -value;

(this.sum || (this.sum = this.form.elements['sum_'+this.group])).value
= Number(this.sum.value) + value;
(this.sumAll || (this.sumAll = this.form.elements['sum'])).value
= Number(this.sumAll.value) + value;
}
})();

autoCalc();
</script>
2016-09-05 (월) 13:21:29
관심 감사합니다~ 늘 고맙습니다.

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