🔍 연락처·검색·정렬·체크박스 완전 분석

종이명함 리스트에서 검색, 정렬, 체크박스 선택, 연락처 관리가 어떻게 동작하는지 분석합니다.

사용자가 검색창(#paper_search_str)에 검색어를 입력하고 엔터를 누르거나 검색 버튼을 클릭하면 실행됩니다.

// 검색창: #paper_search_str
// onkeyup="enterkey('paper_submit')" — 엔터키 감지
// button onclick="paper_submit()" — 버튼 클릭

function paper_submit() {
    var search_str = $("#paper_search_str").val();
    var range = $("#paper_range").val();  // 현재 정렬 모드
    getIamPaper('[사용자ID]', '[관리자ID]', range, '0', 1);
    // card_owner, card_master, search_range, phone_count, page
}

enterkey() — 엔터키 통합 감지기

function enterkey(v1) {
    if (window.event.keyCode == 13) {  // Enter 키(13) 감지
        if (v1 == 'contact_submit') {
            contact_submit();
        } else if (v1 == 'paper_submit') {
            paper_submit();
        } else {
            friends_submit('');  // 프렌즈 검색
        }
    }
}

2. 정렬 — paper_range()

사용자가 정렬 드롭다운에서 선택하면 실행됩니다. 세 가지 정렬 모드가 있습니다:

// 정렬 드롭다운 메뉴:
// 
  • 등록일순
  • //
  • 이름순
  • //
  • 회사명순
  • function paper_range(range, label) { // 1. 숨은 input에 정렬 값 저장 $("#paper_range").val(range); // 2. 라벨 업데이트 $("#paper_sort_label").text(label); // 3. AJAX로 재로딩 getIamPaper('[사용자ID]', '[관리자ID]', range, '0', 1); } // 정렬 값 매핑: // 3 → 등록일순 (register_date DESC) // 1 → 이름순 (name ASC) // 5 → 회사명순 (org_name ASC)

    3. 체크박스 시스템

    개별 선택 시 개수 업데이트 — paper_chk_count()

    function paper_chk_count() {
        $("#paper_chk_count").text(
            $("input[name=paper_chk]:checked").length + "개 선택됨"
        );
    }
    // 각 체크박스는 onclick="paper_chk_count()" 연결
    

    전체 선택/해제 — groupCheckClick_paper()

    // 
    // 
    
    function groupCheckClick_paper(obj) {
        var cbs = document.getElementsByName("paper_chk");
        for (var i = 0; i < cbs.length; i++) {
            if (cbs[i].value && !cbs[i].disabled)
                cbs[i].checked = obj.checked;  // 마스터 체크박스 따라감
        }
        paper_chk_count();  // 개수 업데이트
    }
    

    4. 연락처 관리 함수

    함수기능엔드포인트
    getIamContact(card_owner, card_master, search_range, phone_count, page, paper_yn)연락처 목록 로드[내부API]/[연락처조회]
    contact_submit_paper()연락처 검색 실행getIamContact() 호출
    contact_chk_count()선택 연락처 개수 표시-
    contact_call()선택한 1명에게 전화 (tel: 링크)-
    contact_del()선택 연락처 일괄 삭제[내부API]/[연락처처리]

    초등학생을 위한 설명