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 |
Tags
- 피보나치 예제
- 피보나치함수 예제
- katalon 사용법
- Katalon Recorder 사용법
- 해외주식 양도세 신고
- 국세청 해외주식 양도세 신고방식
- bfs 미로탐색 java
- recursion example
- katalon
- 홈택스 해외주식 양도세
- oracle group by
- katalon xpath
- 한국투자증권 해외주식 양도세
- java.sql.SQLSyntaxErrorException
- javascript 자동완성
- CSTS 폭포수 모델
- 재귀 예제
- 재귀함수 예제
- 한국투자증권 양도세 신고
- tomcat log
- git 연동
- 테스트 자동화
- js 자동완성
- katalon 자동화
- 피보나치함수
- 해외증권 양도세 한국투자증권
- 톰캣 실시간 로그
- katalon 비교
- 주식 양도세 신고방법
- 최대공약수 예제
Archives
- Today
- Total
엄지월드
jQuery 자동완성 기능(autoComplete) 본문
jQquery를 이용한 자동완성 기능(autoComplete)
1. pom.xml에 dependency를 추가합니다.
<!-- Controller To JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.0</version>
</dependency>
<!-- JSON -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
2. jsp 파일에 jQuery코드를 추가합니다.
<!-- jQuery auto complete -->
<script src="<c:url value="/js/jquery-3.2.0.min.js" />"></script>
<script src="<c:url value="/js/jquery.autocomplete.min.js" />"></script>
<!-- 자동완성 결과 값 꾸며주기 -->
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 5px 5px; white-space: nowrap; overflow: hidden; font-size:22px}
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: bold; color: #3399FF; }
<input id="w-input-search" name="recv_id" type="text" class="form-control">
<!-- jQuery 코드 시작 -->
<script>
$('#w-input-search').autocomplete({
serviceUrl: '$/getTags',
paramName: "tagName",
delimiter: ",",
transformResult: function(response) {
return {
//must convert json to javascript object before process
suggestions: $.map($.parseJSON(response), function(item) {
return { value: item.tagName, data: item.id };
})
};
}
});
</script>
3. 데이터를 담을 수 있는 vo를 추가합니다.
public class Tag {
public int id;
public String tagName;
//getter and setter methods
public Tag(int id, String tagName) {
this.id = id;
this.tagName = tagName;
}
}
4. controller에서 데이터를 가공해서 view로 보냅니다.
public class MessagesController {
// data를 임의로 추가합니다. DB에서 가져오는 경우에는, 별도로 처리해줘야 합니다
List<Tag> data = new ArrayList<Tag>();
MessagesController(){
data.add(new Tag(1, "ruby"));
data.add(new Tag(2, "rails"));
data.add(new Tag(3, "c / c++"));
data.add(new Tag(4, ".net"));
data.add(new Tag(5, "python"));
data.add(new Tag(6, "java"));
data.add(new Tag(7, "javascript"));
data.add(new Tag(8, "jscript"));
}
// view와 controller간의 통신
@RequestMapping(value = "/getTags", method = RequestMethod.GET)
public @ResponseBody
List<Tag> getTags(@RequestParam String tagName) {
return simulateSearchResult(tagName);
}
// 미리보기 데이터 가공
private List<Tag> simulateSearchResult(String tagName) {
List<Tag> result = new ArrayList<Tag>();
// iterate a list and filter by tagName
try{
for (Tag tag : data) {
if (tag.getTagName().contains(tagName)) {
result.add(tag);
}
}
}catch(Exception e){
System.err.println(e.getMessage());
}
return result;
}
참조
https://www.mkyong.com/spring-mvc/spring-mvc-jquery-autocomplete-example/
http://zzznara2.tistory.com/299
도움이 되셨다면 광고 한번씩 클릭 부탁드립니다 😁
'Front' 카테고리의 다른 글
javascript 자동완성 기능 eclipse에 추가 하기 (0) | 2017.10.08 |
---|---|
이미지 파일을 선택해서 이미지 미리보기 (0) | 2017.09.13 |
파일 유효성 체크하는 방법 (0) | 2017.07.20 |
값으로서의 함수 (0) | 2017.07.15 |
유효범위 (0) | 2017.07.15 |
Comments