셀렉트박스 -> 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
var selectBoxChange = function(value){
if(value == "직접입력') {
$("#changed").val('');
}else{
$("#changed").val(value);
}
하시면 될 거 같습니다.
function selectBoxChange(value) {
if (value === '직접입력') {
document.getElementById('changed').value = '';
} else {
document.getElementById('changed').value = value;
}
}