체크박스 계산인데요,,,
자바로 어렵게 적용했습니다. 자바 망든게 아니그,,,소스찾아서요,,ㅋ
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개
<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개
해당 javascript는 무엇인지도 보여주세요
답변에 대한 댓글 2개
<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>
답변을 작성하려면 로그인이 필요합니다.
실력이 참 대단하십니다~
감사합니다.