여분 필드에 값을 이렵하는데 겨로가 값이 이상해서 질문드립니다.
본문
스크립트부분은
$(function(){
$('#wr_1').keyup(function() {
$('#wr_2').val($(this).val());
$('#wr_3').val($('#wr_2').val()*<?=$config[cf_1]?>);
$('#wr_4').val($(this).val()+$(this).val()*<?=$config[cf_4]?>);
});
});
입력부분은
여분필드 1에 값을 입력받으면
3,4 에 자동으로 입력을 하게 만들었습니다.
<input type=text name="wr_3" id="wr_3" value="" class="frm_input4" maxlength="20">
<input type=text name="wr_4" id="wr_4" value="" class="frm_input4" maxlength="20">
여기에서 wr_3은 정상적을 결과 값이 나옵니다.
wr_4 의 값이 $config[cf_4] = 0.02 일때
wr_1 에 100을 입력시 102 가 나와야하는데 1002 가 출력됩니다.
$('#wr_4').val($(this).val()+$(this).val()*<?=$config[cf_4]?>);
이부분에서 + 가 아닌 - 빼기를 하면 98이 정상으로 출력됩니다.
정수형이 아닌 문자열로 인식해서 그런거 같은데
$('#wr_4').val($(this).val()+$(this).val()*<?=$config[cf_4]?>); 이 부분을 정수형으로 인식하게 하려면 어찌하면 될가요?
답변 3
$('#wr_4').val(($(this).val()*1)+($(this).val()*1)*<?=$config[cf_4]?>);
해당 value값에 *1을해서 간단하게 정수로 만들어 줄 수 있습니다.
$('#wr_4').val($(this).val()+$(this).val()*<?=$config[cf_4]?>);
이부분을 바로 이렇게 하시면 안되고
변수를 만들어야 해요
예를들면
var thisvar = parseInt($(this).val());
var config_4 = parseInt('<?=$config[cf_4]?>');
$('#wr_4').val(thisvar+thisvar *config_4);
이런식으로 하는게 도움이 되실거에요
도움되셨으면 체택부탁드려요^^
parseInt( $(this).val() ) 이렇게 감싸주면 int형으로 인식됩니다.