ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (Ajax, Spring 기반) 동적 콤보박스
    ♣ Tech & Biz Salon/Tech 2012. 10. 5. 11:13

    동적 콤보박스~
    왠만한 개발자들 다 해본걸텐데 난 html 화면단 작업을 별로 안해봐서 이번에 첨 해본다^^


    HTML

    <!-- EVENT -->

    <script type="text/javascript">

    $(function(){

    ...........

    $("select#srchInstKind").change(function(){

    $.getJSON("<c:url value='/backend/cmCode/CmCode_GetList.json'/>",{srchCodeKind: 'AUTH_KIND', srchInstKind: $('#srchInstKind').val()}, function(j){

    var options = '<option value="">--All--</option>';

    for (var i = 0; i < j.length; i++) 

    {

    options += '<option value="' + j[i].code + '">' + j[i].codeNm + '</option>';

    }

    $("#srchAuthKind").html(options);

    $('#srchAuthKind option:first').attr('selected', 'selected');

    });

    });

    });

    </script>

    srchInstKind 콤보박스 onChange시에 srchAuthKind 콤보박스를 리로딩 한다.


    Spring Controller

    ......

    import org.codehaus.jackson.map.ObjectMapper;

    ......

    @Controller

    public class CmCodeController {

    ......

        @RequestMapping(value="/backend/cmCode/CmCode_GetList.json")

        public ResponseEntity<String> getListJson(HttpServletRequest request

        , HttpServletResponse response

        ,@RequestParam(value="srchCodeKind",required=false) String srchCodeKind

    ,@RequestParam(value="srchCodeUseYn",required=false) String srchCodeUseYn

    ,@RequestParam(value="srchInstKind",required=false) String srchInstKind

        ) throws Exception {

       

        CmCode cond = new CmCode();

       

        cond.setCodeKind(StringUtil.fixNull(srchCodeKind));

       

        if(StringUtil.fixNull(srchCodeUseYn) != "") 

        {

        cond.setCodeUseYn(srchCodeUseYn);

        }

        else

        {

        cond.setCodeUseYn("Y");

        }

       

        cond.setInstKind(StringUtil.fixNull(srchInstKind));

       

       

        List<CmCode> list = cmCodeService.selectListMainCol(cond);

       

        ObjectMapper om = new ObjectMapper();

       

        String jsonString = om.writeValueAsString(list);

       

    //     logger.debug("jsonString:----------------------------\n" + jsonString + "\n-------------------------------");


            // Below 3 Lines Make Hangul Printing Correct!!          

            HttpHeaders responseHeaders = new HttpHeaders();

            responseHeaders.add("Content-Type", "text/html; charset=UTF-8");

            return new ResponseEntity<String>(jsonString, responseHeaders, HttpStatus.CREATED);

        }    

    }


    ※ 참고 1


    ※ 기타 서핑하면서 본 정보들 (참고하지는 않음)

    http://www.techiegyan.com/2008/07/26/jquery-handling-html-select/

    이건 별로 라이브러리 이용해서 쓰는건데, 콤보박스 이래저래 핸들링 할 일 있을때 쓰면 괜찮을듯합니다.

    난 지금 필요없으므로 패쑤




Designed by Tistory.