티스토리 뷰

개발을 하다보면 코드테이블에서 코드값을 불러와 <select>로 만들어주는 일이 허다하다.


좀 개발을 편하게 하기 위해 아래처럼 만들어 놓고 쓰면 편하다..


<select id="returnCode">

</select>


$.es.getCodeList($('#returnCode'), '003', '선택');


$.es={};

$.fn.extend($.es,{

    getCodeList: function($obj, kind, first){

        $obj.empty();


        if(first && first.length>0)

            $obj.append($.validator.format('<option value="">{0}</option>',first));


        $.ajax({ method:"POST"

            , url: '/common/codeList'

            , data: {kind: kind}

            , success : function(data){

                $.each(data.list, function(idx, item){

                    $obj.append( $.validator.format('<option value="{0}">{1}</option>', item.code, item.name) );

                })

            }

            , error : function(xhr, status, error){

                alert("error");

            }

        });

    }

});


스프링 Controller 부분

@RequestMapping("/common/codeList")

public @ResponseBody Map<String, List> codeDivList() throws Exception{

    return commonCode.getCodeList();

}


Service 부분

public Map<String, List> getCodeList(Code form){

    List<Code> codeList = get("codeList");

    List<Code> resultList = new ArrayList<Code>();

    Map<String, List> codeMap = new HashMap<String, List>();


    for(Code codeDomain : codeList){

        if(codeDomain.getKind().equals(form.getKind())){

            resultList.add(codeDomain);

        }

    }

    codeMap.put("list", resultList);

    return codeMap;

}


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함