냐냐한 IT/냐냐한 JavaScript 7

JavaScript - 숫자 -> 전화번호로 형식으로 변환 (000-0000-0000)

숫자를 전화번호 형식으로 변환해야 할 때 사용하는 함수입니다. (전화번호 형식은 통일시키고 싶은데 전화번호 입력란은 하나로 쓰고 싶을 경우 사용했습니다. 저장시 숫자가 아닌 문자는 제거 후 저장, 저장된 번호를 목록/상세 보기 등에 표시할 때는 전화번호 형식으로 변환) 숫자만으로 이루어져 있거나, 다른 문자 (예 : - , . , / 등) 포함 시 해당 문자 삭제 후 전화번호 형식 변환 후 반환합니다. 코드 function regexTel(tel) { if (!tel) return ""; // 숫자가 아닐 경우 제거 var rtnTel = tel.replace(/[^\d]/g, ""); if (rtnTel.length === 11) { // 000-0000-0000 return rtnTel.replace..

for 문으로 ajax 여러 번 호출, 모든 호출이 끝난 후 처리

for 문으로 ajax 여러 번 호출, 모든 호출이 끝난 후 처리 var precessData = []; var processCount = 0; precessData.push(1); precessData.push(2); precessData.push(3); var processCount = precessData.length; var areaResult = document.getElementById('areaResult'); for (var i = 0; i < precessData.length; i++) { callAjax(precessData[i]); } function callAjax(data) { $.ajax({ type: 'POST', url: '호출URL', data: JSON.stringify(..

JavaScript - CheckBox 전체 선택/해제

예전에 작업했던 내용들을 기억/기록하기 위해 남기는 포스팅입니다. 체크박스 전체 선택/해제 + 하부 선택에 따른 전체 선택 체크박스 활성/비활성 기능 JavaScript 코드 $(function(){ //기존 선택된 데이터 받아온다면 설정 setCheckAll(); //전체 체크박스 선택 시 $('#checkbox_all').on('change', function () { $(this).parents('.list_agree').find('input:checkbox').prop('checked', $(this).prop('checked')); }); //전체 외 체크박스 선택 시 $('.list_agree').find('input:checkbox').not('#checkbox_all').on('change..

javascript 이벤트 취소(unbind)

예전에 작업했던 내용들을 기억/기록하기 위해 남기는 포스팅입니다. 공동으로 작업을 하다 보면 생기는 문제들이 있습니다. 이번 포스팅의 경우 생긴 문제는 '퍼블리셔'가 만들어준 html과 javascript를 개발에 입히는 과정에서 javascript 이벤트가 서로 겹치는 문제가 발생했습니다. 상황을 예로 설명드리면, 글의 제목을 클릭하면 글 내용이 펼쳐지고, 다시 누르면 접히는 이벤트가 있습니다. 퍼블리셔분이 친절하게도 해당 이벤트 처리를 해 주었지만 개발에 해당 내용을 적용하는 과정에서 글 제목 클릭 시 조회수 추가 및 글 내용 및 첨부파일 등을 가져오는 작업이 추가되어야 했습니다. 퍼블리셔와 개발자가 javascript를 각각 관리하기에 임의로 퍼블리셔의 코드를 손대기도 어려운 상황이었습니다. 그래서..

javascript(jquery)로 table 행 병합(rowspan)

예전에 작업했던 내용들을 기억/기록하기 위해 남기는 포스팅입니다. 테이블 형태의 데이터를 가져와서 동일한 내용의 행을 병합하는 작업을 서버단에서 하지 않고 JavaScript를 이용하면 조금 더 편해진다. JavaScript 코드 $.fn.mergeClassRowspan = function (colIdx) { return this.each(function () { var that; $('tr', this).each(function (row) { $('td:eq(' + colIdx + ')', this).filter(':visible').each(function (col) { if ($(this).attr('class') == $(that).attr('class')) { rowspan = $(that).a..

javascript(jquery)로 폼 생성 및 Submit

예전에 작업했던 내용들을 기억/기록하기 위해 남기는 포스팅입니다. 폼 생성 및 Submit function postFormMakeSubmit(actionUrl, params) { $makeFrm = $(''); for (var key in params) { if (params.hasOwnProperty(key)) { $makeFrm.append(''); } } $('body').append($makeFrm); $makeFrm.submit(); } 폼 생성 및 새창으로 Submit function postFormMakeSubmitWindowOpen(actionUrl, params, targetName, openOption) { try{ var pop = window.open('about:blank', ta..