스크립트 콤마 빠지는 문제
본문
가격선택을 통해서 선택한 값이 인풋트 창에 표기될때
콤마가 표기가 안됩니다.
1,000 처럼 되어야 하는데 --> 1000 처럼 콤마가 빠짐
<tr>
<td width="60" height="20" align="right">보증금 :</td>
<td align="left"> <input class='ed' type=text id=t_start name='t_start' size=8 maxlength=8 minlength=3
itemname='시작일' onKeyUp="number_format(this)" value='<?=$t_start?>'> 만원
~ <input class='ed' type=text id=t_end name='t_end' size=8 maxlength=8 minlength=3
itemname='마지막일' onKeyUp="number_format(this)" value='<?=$t_end?>'> 만원</td>
<td><select name='price_junse' style='font-size:;' onChange="check_selectbox('price_junse','t_start','t_end','','~')"><option value='' selected style='background-color:'>가격선택</option><option value='100~500'>100만원~500만원</option><option value='500~1,000'>500만원~1,000만원</option><option value='1,000~2,000'>1,00만원~2,000만원</option><option value='2,000~3,000'>2,000만원~3,000만원</option></select></td>
</tr>
<script>
function check_selectbox( selName , inputName1 , inputName2, inputName3, gubun )
{
//alert('test');
selIndex = document.getElementsByName(selName)[0].selectedIndex;
//alert(document.getElementsByName(selName)[0].options[ selIndex ].value);
if ( selIndex == 0 )
{
document.getElementsByName(inputName1)[0].readOnly = false;
document.getElementsByName(inputName2)[0].readOnly = false;
document.getElementsByName(inputName1)[0].value = "";
document.getElementsByName(inputName2)[0].value = "";
if ( inputName3 != '' )
{
document.getElementsByName(inputName3)[0].readOnly = false;
document.getElementsByName(inputName3)[0].value = "";
}
document.getElementsByName(inputName1)[0].focus();
}
else if(document.getElementsByName(selName)[0].options[ selIndex ].value == 'self input')
{
document.getElementsByName(inputName1)[0].readOnly = false;
document.getElementsByName(inputName2)[0].readOnly = false;
}
else
{
var nowVal = document.getElementsByName(selName)[0].options[ selIndex ].value;
var nowVals = nowVal.split(gubun);
if ( nowVals[0] && nowVals[1])
{
document.getElementsByName(inputName1)[0].value = nowVals[0].replace(/\D/g,'');
document.getElementsByName(inputName2)[0].value = nowVals[1].replace(/\D/g,'');
document.getElementsByName(inputName1)[0].readOnly = true;
document.getElementsByName(inputName2)[0].readOnly = true;
} else if ( !nowVal[1] ) {
document.getElementsByName(inputName1)[0].value = nowVals[0].replace(/\D/g,'');
document.getElementsByName(inputName2)[0].value = "";
document.getElementsByName(inputName1)[0].readOnly = false;
document.getElementsByName(inputName2)[0].readOnly = false;
}
if ( inputName3 != '' )
{
document.getElementsByName(inputName3)[0].readOnly = true;
document.getElementsByName(inputName3)[0].value = nowVals[2].replace(/\D/g,'');
}
}
}
function start_selectbox( selName , inputName1 , inputName2, inputName3, gubun )
{
if ( !document.getElementsByName(selName)[0] )
{
return;
}
selIndex = document.getElementsByName(selName)[0].selectedIndex;
if ( selIndex == 0 )
{
document.getElementsByName(inputName1)[0].readOnly = false;
document.getElementsByName(inputName2)[0].readOnly = false;
if ( inputName3 != '' )
document.getElementsByName(inputName3)[0].readOnly = false;
//document.getElementsByName(inputName1)[0].focus();
// 페이지 이동시 커서가 인풋박스로 이동하여 상단이 안보이는 문제로 주석처리 there007
}
else
{
document.getElementsByName(inputName1)[0].readOnly = true;
document.getElementsByName(inputName2)[0].readOnly = true;
if ( inputName3 != '' )
document.getElementsByName(inputName3)[0].readOnly = true;
}
}
</script>
답변 2
<tr>
<td width="60" height="20" align="right">보증금 :</td>
<td align="left">
<input class='ed' type=text id=t_start name='t_start' size=8 maxlength=8 minlength=3
itemname='시작일' onKeyUp="number_format(this)" value='<?=$t_start?>'> 만원
~ <input class='ed' type=text id=t_end name='t_end' size=8 maxlength=8 minlength=3
itemname='마지막일' onKeyUp="number_format(this)" value='<?=$t_end?>'> 만원
</td>
<td><select name='price_junse' style='font-size:;' id="price_junse"><option value='' selected style='background-color:'>가격선택</option><option value='100~500'>100만원~500만원</option><option value='500~1,000'>500만원~1,000만원</option><option value='1,000~2,000'>1,00만원~2,000만원</option><option value='2,000~3,000'>2,000만원~3,000만원</option></select></td>
</tr>
<script>
$("#price_junse").on("change", function() {
var arr = this.value.split("~");
$("#t_start").val(arr[0]).attr("readonly",true);
$("#t_end").val(arr[1]).attr("readonly",true);
})
</script>
number_format(this) 란 것은 있는데,
number_format(this) 이함수를 정의하는 소스는 누락된듯 싶네요.