테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 콤마 빠지는 문제 채택완료

마조 8년 전 조회 1,985

가격선택을 통해서 선택한 값이 인풋트 창에 표기될때

콤마가 표기가 안됩니다.

1,000 처럼 되어야 하는데 --> 1000  처럼 콤마가 빠짐


<tr>
 <td width="60" height="20" align="right">보증금 :</td>
 <td align="left">&nbsp;<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?>'> 만원
  &nbsp;~&nbsp;<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개

채택된 답변
+20 포인트
8년 전

<tr>

  <td width="60" height="20" align="right">보증금 :</td>

  <td align="left">

    &nbsp;<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?>'> 만원

    &nbsp;~&nbsp;<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>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

마조
8년 전
기존 스크립트 지우고 올려주신 스크립트만 올려주면 되나요?
선택한 금액이 input로 넘어가지를 않는것 같습니다.
슈와이
8년 전
<tr>
<td width="60" height="20" align="right">보증금 :</td>
<td align="left">
&nbsp;<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?>'> 만원
&nbsp;~&nbsp;<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() {
if (this.value) {
var arr = this.value.split("~");
$("#t_start").val(arr[0]).attr("readonly", true);
$("#t_end").val(arr[1]).attr("readonly", true);
} else {
$("#t_start").val("").attr("readonly", false);
$("#t_end").val("").attr("readonly", false);
}
})
</script>
슈와이
8년 전
http://shuai0.dothome.co.kr/demo/comma.html
마조
8년 전
다시 올려주신 스크립트도 input 으로 값을 넘겨주지 못하는것 같습니다.
다른분의 도움으로 replace(/\D/g,''); 를 제거해서 콤마도 넘어가게 되었습니다.
부족한 질문에도 이렇게 신경써 답변주셔서 감사드려요.

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

8년 전

number_format(this) 란 것은 있는데, 

number_format(this) 이함수를 정의하는 소스는 누락된듯 싶네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

마조
8년 전
number_format 스크립트는 있습니다. 질문이 다소 부족하였습니다.
즐거운 오후되세요

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

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

로그인