Where The Streets Have No Name

IBSheet를 이용하여 select 테그 내용을 가져다 채우기(2) 본문

Developement/RIA

IBSheet를 이용하여 select 테그 내용을 가져다 채우기(2)

highheat 2007. 11. 10. 15:02
/*---------------------------------------------------------------------------------------------
IBSheet 를 통해 받아온 xml 스트링에서 데이터를 리턴
parameter 1 : IBSheet를 통해 받아온 xml string
return : array
ex) return 이용
    for(i=0;i<aryRow.length;i++){
        alert(aryRow[i].col0+','+aryRow[i].col4);
    }
---------------------------------------------------------------------------------------------*/    
function jf_GetRowData(xmlStr){
                
    /* xml data load */                
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM" );
    xmlDoc.loadXML(xmlStr);

    var xmlRoot = xmlDoc.documentElement;
    if(xmlRoot == null) return;

    var trNode = xmlRoot.getElementsByTagName("TR").item(0);
    if(trNode == null) return;
    
    var tdNodes = trNode.childNodes;
    if(tdNodes == null) return;
    
    var clength = tdNodes.length; /* 열의 수 */
    //alert(clength);
    
    var aryRow = new Array();
    var trNodes = xmlRoot.getElementsByTagName("TR");
    var rlength = trNodes.length;
    for(i=0;i<rlength;i++){        
        tdNodes = trNodes[i].childNodes;
        var row = {};
        for(j=0;j<clength;j++){                        
            row['col'+j] = tdNodes[j].text;            
        }
        aryRow.push(row);
    }
    
    return aryRow;
}    


/* 실제 호출하는 부분의 예 */
function reloadAppraisalSymd() {
        
        var frm = document.form1;

        var strXml = hSheet.getsearchxml("AppCoaching_UI2.jsp", "appraisalCd="+frm.searchAppraisalCd.value);

        comboVal = jf_GetRowData(strXml);                    
        ja_RemoveAllOptions("document.form1.searchAppraisalSymd");        
        
        if(comboVal != null){
            for(var i = 0; i<comboVal.length; i++)
                js_AddOption("document.form1.searchAppraisalSymd", dateFormat(comboVal[i].col0), comboVal[i].col0);                    
        }            

    }