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 |
Tags
- TAILWIND
- scroll
- angular modal
- Router
- 검색
- flex-1
- 모달
- 앵귤러 애니메이션
- ApexChart
- angular animation
- 호버
- mysql if
- 아이오닉 스크롤 이벤트
- Ionic modal
- prisma
- egov spring ajax 사용 예시
- 셀렉트박스 커스텀
- angular route
- 스크롤 이벤트 감지
- formgroup
- 스크롤 이벤트
- angular button
- ajax 사용 예시
- summary
- 앵귤러 모달
- Angular Router
- Oracle LISTAGG 사용 예시
- 옵저버블
- route
- modal
Archives
- Today
- Total
깜놀하는 해므찌로
Egov Spring 즐겨찾기 별 모양 구현 예시 본문
반응형
SMALL
<input type="checkbox" id="${result.seq }__${result.id}" class="fvrts_checkbox" onclick="fncFvrtsOneCheck(this);" value="Y" ${result.fvrtsYn eq 'Y' ? 'checked="checked"' : '' } style="display:none;">
<label for="${result.seq }__${result.id}" class="cursor">
<img id="img_${result.seq }__${result.id}" src="/publish/mgr/images/star_${result.fvrtsYn}.png" style="width:20px;"/>
</label>
1. 체크박스 display:none 설정
2. label 태그로 이미지 감싸기
3. src 값에 별모양 이미지 경로 명시
4. 별 모양 파일 이름은 각각 _Y, _N 으로 저장
<%-- 즐겨찾기 체크 및 해제 --%>
function fncFvrtsOneCheck(obj){
var chk_state = "";
var id =obj.id.split("__")[0];
/* 체크 상태 구분 */
if(obj["checked"]){
chk_state = "Y";
$("#img_"+obj.id).attr("src","/publish/mgr/images/star_"+ chk_state +".png"); // 별 이미지 셋팅
}else{
chk_state = "N";
$("#img_"+obj.id).attr("src","/publish/mgr/images/star_"+ chk_state +".png"); // 별 이미지 셋팅
}
$.ajax({
method : "POST",
url : "addFvrts.do",
data : {"fvrtsSeq" : id, "chk_state" : chk_state},
dataType : "JSON",
success : function(data){
console.log("즐겨찾기 추가 및 해제 : " + data.result);
},
complete : function(data){
console.log("즐겨찾기 종료");
}
});
}
5. 즐겨찾기 이미지에 달아줄 onclick 함수 선언
6. 클릭 시 체크를 하는 시점인지 체크를 해제하는 시점인지 구분하는 값과 추가 또는 해제된 대상의 값을 ajax 로 전송
/* 즐겨찾기 추가 및 해제 */
@ResponseBody
@SuppressWarnings("rawtypes")
@RequestMapping(folderPath + "addFvrts.do")
public Map addFvrts(@ModelAttribute("searchVO") VO searchVO, String chk_state) throws Exception {
Map<String, String> map = new HashMap<>();
/* 즐겨찾기에 이미 등록되어 있는지 체크 */
int cnt = (Integer) cmmnService.selectCount(searchVO, PROGRAM_ID + ".fvrtsCheckCount");
if(cnt > 0){
/* 체크박스 체크 상태 */
if("N".equals(chk_state)){
searchVO.setUseYn("N");
}else{
searchVO.setUseYn("Y");
}
cmmnService.updateContents(searchVO, PROGRAM_ID + ".updateFvrtsContents");
}else{
cmmnService.insertContents(searchVO, PROGRAM_ID + ".insertFvrtsContents");
}
map.put("result", "success");
return map;
}
7. 즐겨찾기 테이블 count 조회 및 체크 상태를 전달 받아 DB 접근
<!-- 즐겨찾기 목록 카운트 -->
<select id="fvrtsSelectCount" parameterType="VO" resultType="int">
/* VO.fvrtsSelectCount */
<![CDATA[
SELECT COUNT(A.FVRTS_SEQ)
FROM t_fvrts A
LEFT OUTER JOIN t_ad_user B
ON A.FVRTS_SEQ = B.SEQ
LEFT OUTER JOIN t_code C
ON C.C_CD = B.POSITION
WHERE A.AD_SEQ = #{loginSeq}
AND A.USE_YN = 'Y'
]]>
</select>
8. select count 문 예시
반응형
LIST
'IT' 카테고리의 다른 글
JavaScript enter 감지 사용 예시 / 엔터 감지 예시 (0) | 2022.07.06 |
---|---|
Egov Spring multi ajax 사용 예시 / ajax Promise 방식 / 이중 ajax 사용 예시 JavaScript (0) | 2022.07.06 |
JavasScript Cookie 쿠키 사용 예시 (0) | 2022.07.05 |
Egov Spring Controller Array 컨트롤러 배열 처리 (0) | 2022.07.05 |
JavaScript onclick, onsubmit, onload, onfocus ... 자바스크립트 HTML 속성 (0) | 2022.07.05 |