하다하다 질문드려요
본문
체크박스가 이런식으로 되어 있습니다.
<input type="checkbox" id="checkboxG1" class="css-checkbox30" name="ext222_00" value="-3000" <? if($ext222_00 == "-3000") echo 'checked="checked"'; ?> >
..
..
keyup이 있는 필드는 이거구요
<input type=text name='wr_258' id="wr_258" value="<?=$write[wr_258]?>">
위의 체크박스를 합산할 필드는
<input type=text name='wr_52' id="wr_52" value="<?=$write[wr_52]?>">
이렇구요
스크립트를
<script>
$(document).ready(function() {
$("#wr_258").keyup(function() {
var ext222_00 = $("<?php echo $ext222_00; ?>");
var ext222_01 = $("<?php echo $ext222_01; ?>");
var ext222_02 = $("<?php echo $ext222_02; ?>");
var ext222_03 = $("<?php echo $ext222_03; ?>");
var sum = ext222_00+ext222_01+ext222_02+ext222_03;
$("#wr_52").val(sum);
});
});
</script>
이렇게 했는데... NAN이라면서
잘 안되네요..
답변 3
안되는 이유는 다음과 같습니다.
var ext222_00 = $("<?php echo $ext222_00; ?>");
위와 같은 소스는 말이 안됩니다.
$('#아이디 또는 .클래스') 이름이여야 합니다.
클래스의 이름안에 있는 요소의 데이터를 가져오고 싶으면, .val() 또는 .text()
이런식이 되겠죠.
하지만, 이것은 아닌것 같구요
var ext222_00 = $("<?php echo $ext222_00; ?>");
요것을
var ext222_00 = parseInt("<?php echo $ext222_00; ?>");
요런식이나
var ext222_00 = Number("<?php echo $ext222_00; ?>");
요런식으로 해보시길 바랍니다.
도움이 될련지 모르겠네요.
Number() 또는 parseInt() 사용해서 숫자형으로 바꿔서 계산해보세요
var sum = Number(ext222_00)+Number(ext222_01)+Number(ext222_02)+Number(ext222_03);
또는
var sum = parseInt(ext222_00)+parseInt(ext222_01)+parseInt(ext222_02)+parseInt(ext222_03);
NaN은 Not a Number라고 숫자가 아닌 값이 계산식에 들어와
숫자계산을 할려고 하니 숫자가 아니라는 NaN을 출력하게 됩니다.
PHP값을 가져오는 부분에서 값이 없거나 숫자 아닌 값이 들어 오지는 않는지 체크해 보시죠.