Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 페치조인
- namedQuery
- JPQL
- 대량쿼리
- 벌크연산
- joinfetch
- paging
- 스프링데이터흐름
- javascriptcalendar
- calendar
- jscalendar
- 제너릭
- LIST
- values()
- jQueryUI
- fetchjoin
- JQuery
- JPA
- 제네릭
- Generic
- 자바서블릿
- 페이징
- Hibernate
- springflow
- jQuery값전송
- fullcalendar
- javaservlet
- 프로젝트생성
- 엔티티직접사용
- jQuery값전달
Archives
- Today
- Total
가자공부하러!
Bootstrap typeahead 자동완성기능 코드 본문
조건 : bootstrap-3-typeahead.js 다운로드 필수(https://github.com/bassjobsen/Bootstrap-3-Typeahead)
개발환경 :
- Spring Boot 2.1.8, MyBatis, Bootstrap 최신, jQuery 최신(2019-10-23 기준)
1. jsp(모달부분만)
1 2 3 4 5 | <div class="col-md-4"> <label for="_coup_reg_id">등록ID</label> <input type="text" class="form-control" id="_coup_reg_id" aria-describedby="_coup_reg_id_desc" placeholder="쿠폰을 지급할 ID 입력."> <small id="_coup_reg_id_desc" class="form-text text-muted">쿠폰지급</small> </div> | cs |
2. javascript
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | $(document).on('show.bs.modal','#_coupon_detail_info_modal', function () { console.log('modal on show!!!!!!!!!!!'); var $input = $("#_coup_reg_id"); $input.typeahead({ source: getTypeaheadData() }); //DB값과 같아야만 저장버튼 활성화 $input.on('keyup change',function() { $input.typeahead({ source: getTypeaheadData() }); var current = $input.typeahead("getActive"); if (current) { if (current.name == $input.val()) { $("#_save_coup_detail_info").removeAttr('disabled'); return true; } } $("#_save_coup_detail_info").attr('disabled', 'disabled'); }); }); function getTypeaheadData(){ //디폴트값 var dataArr = [ {id: "someId1", name: "Display name 1"}, {id: "someId2", name: "Display name 2"} ]; $.ajax({ type : 'get', url : "/admin/mypage/points/getmembers", dataType : "json", data : { value : $("#_coup_reg_id").val() }, async: false, success : function(data) { dataArr = new Array(); $.each(data, function(index, item) { dataArr.push( {id: "typeahead", name: item } ); }); } }); return dataArr; } | cs |
3. java, xml
-controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /**Ajax 통신을 통해 아이디 리턴(autocomplete) * @param value * @param pcp * @return */ @ResponseBody @RequestMapping(value = "/points/getmembers", method = {RequestMethod.POST, RequestMethod.GET} ) public List<String> getMembers(Model model, String value, Principal prc) throws Exception{ log.info("getMembers()" + value); Map<String, Object> map = new HashMap<String, Object>(); map.put("value", value); map.put("id", prc.getName()); return myUsedService.getMemberid(map); } | cs |
-DAO
1 2 3 4 5 | @Override public List<String> getMemberid(Map<String, Object> map) { // 멤버 아이디를 배열로 가져온다 List<String> Member = sqlSession.selectList(ns + "getMemberid", map); return Member; } | cs |
-mapper(mybatis)
1 2 3 4 5 6 7 8 9 | <!-- 아이디 조회 --> <select id="getMemberid" resultType="java.lang.String" parameterType="java.lang.String"> SELECT id FROM rhy_mem_p WHERE ID LIKE CONCAT('%',#{value},'%') AND subscribe = 0 AND id not in(#{id}) ORDER BY CHAR_LENGTH(id) </select> | cs |
'공부 > 웹' 카테고리의 다른 글
AWS EC2 서버에 Spring Boot 웹서비스 배포 (0) | 2019.10.31 |
---|---|
Bootstrap typeahead 자동완성기능 코드(2) (0) | 2019.10.24 |
CKEditor - 웹페이지 적용, 이미지 업로드 세팅 (0) | 2019.10.11 |
Tempus Dominus(Bootstrap) (0) | 2019.10.03 |
CSS - Grid Layout 속성 정리, 활용 방법 (0) | 2019.10.03 |
Comments