셀렉트박스 -> input 벨류값 가져오기

var selectBoxChange = function(value){
    console.log("값변경테스트: " + value);
    $("#changed").val(value);

}

 

<option value="1" >1</option>
<option value="1" >2</option>
<option value="직접입력" >직접입력</option>  

 

<input type="text" name="changed" id="changed" value="">

 

현재 적용되어 있는 코드인데

 

셀렉트박스의 벨류값을 인풋으로 가져오고 있습니다.

 

작동은 잘 하지만 직접입력을 선택하게 되면

input 벨류값에 직접입력이 뜨게됩니다.

 

물론 input에서 직접 지우고 새로쓰면 값은 정상적으로 적용되지만

 

직접입력을 선택했을시에 인풋에 벨류값 없도록 만들수 있나요?

 

+ <option value="직접입력" >직접입력</option> 해당값을

 

<option value="" >직접입력</option>

이렇게 처리하여도 기존에 

 

<option value="1" >1</option>
<option value="1" >2</option>
<option value="직접입력" >직접입력</option>

 

다른선택지를 선택하면 벨류값이 그대로 남아 있습니다.

 

직접입력을 선택하면 벨류값이 업도록 하고싶습니다

 

 

|

답변 2개

Copy
function selectBoxChange(value) {
    if (value === '직접입력') {
        document.getElementById('changed').value = '';
    } else {
        document.getElementById('changed').value = value;
    }
}

var selectBoxChange = function(value){
   if(value == "직접입력') {

$("#changed").val('');

}else{
    $("#changed").val(value);

}

하시면 될 거 같습니다.

 

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