[JAVASCRIPT] 자바스크립트 select 박스(콤보박스) 옵션 추가하는 방법

[JAVASCRIPT] 자바스크립트 select 박스(콤보박스) 옵션 추가하는 방법

select 박스, 콤보박스라고도 부른다.​

jquery로 제어하면 편하지만, 여기서는 순수 javascript로 제어하는 함수를 적어둔다.

이곳에, 자바스크립트 select 박스(콤보박스) 제어하는 코드를 모아둔다.

1. javascript select 박스(콤보박스) 에서 현재 선택된 값 가져오기


var currentValue = document.getElementById(_comboId).value;

2. javascript select 박스(콤보박스) 에서 현재 선택되어 있는 인덱스 가져오기


// getComboSelectedId : select 태그의 아이디를 파라미터로 넘기면, 현재 선택되어 있는 인덱스를 반환한다.

function getComboSelectedId(_comboId) {
    var comboObj = document.getElementById(_comboId);
    if (comboObj == null) {
        return null;
    }
            
    if (comboObj.options == null || comboObj.options.length == 0) {
        return null;
    }
                    
    var optionCount = comboObj.options.length;
    for (var i=0; i<optionCount; i++) {
        if (comboObj.options[i].selected) {
            return comboObj.options[i].id;
        }
    }
        
    return null;
}

3. javascript select 박스(콤보박스) 특정 옵션값 선택하기


// setComboToSelectOption : select 태그의 아이디와 option 태그의 아이디를 파라미터로 넘기면, 해당 option을 선택한다.
function setComboToSelectOption(_comboId, _itemId) {
    var comboObj = document.getElementById(_comboId);
    if (comboObj == null) {
        return false;
    }
            
    if (comboObj.options == null || comboObj.options.length == 0) {
        return false;
    }
    
    if (_itemId == null) {
        _itemId = “”;
    }
                    
    var optionCount = comboObj.options.length;
    for (var i=0; i<optionCount; i++) {
        if (comboObj.options[i].id == _itemId) {
            comboObj.options[i].selected = true;
            return true;
        }
    }
        
    return false;
}

4. javascript select 박스(콤보박스) 에서 모든 옵션 삭제하기


function deleteComboOptions(_comboId) {
    try {
        var ops = document.getElementById(_comboId).options;
        if (ops != null && ops.length > 0) {
            var lastIdx = ops.length – 1;
            for (var k=lastIdx; k>=0; k–) {
                ops[k] = null;
            }
        }
    } catch (e) {
        alert(“deleteComboOptions ERROR : ” + e);
    }
}

5. javascript select 박스(콤보박스) 에 옵션 추가하기


var ops = document.getElementById(_comboId).options;

var op = new Option();

op.value = “tempValue”;

op.text = “tempText”;

// 옵션을 기본 선택하려면 아래 코드 적용할 것

// op.selected = true;

ops.add(op);