반응형

인원수가증가하거나
입력값이 불특정하게 증감할수있을시
추가삭제버튼으로 배열로 넘기기도한다
상당히 귀찮은 작업이고 db도 배열로 넣고해야되서 귀찮..

일단은 javascript 로 클론처리해서 넣는데
가끔 클릭작동이나 배열안넘어갈때 동적 컨텐츠? 그 체크도 해주고 삭제할때도 인덱스 체크도해주고..
여튼 스크립트는 이런식이다

parent로 상위 골라서 마지막 부분에추가. 삭제버튼활성화
맨처음은 삭제버튼 비활성화

추가버튼은 맨첫번째에만 넣어뒀다 아래로 차곡차곡 추가되는방식

// 항목추가 버튼 클릭시
$(".add_btn").click(function(){
var clickedRow = $(this).parent();
var cls = clickedRow.attr("class");

// tr 복사해서 마지막에 추가
var newrow = clickedRow.clone();
newrow.find("li:eq(0)").remove();
newrow.find('input').val('');
newrow.find('.del_btn').removeClass('d-none');
newrow.find('.add_btn').addClass('d-none');
newrow.insertAfter($(".ap_con ."+cls+":last"));

});

// 삭제버튼 클릭시
$(document).on('click','.del_btn',function(){

var clickedRow = $(this).parent();
var cls = clickedRow.attr("class");

// 각 항목의 첫번째 row를 삭제한 경우 다음 row에 td 하나를 추가해 준다.
if( clickedRow.find("li:eq(0)").attr("rowspan") ){
    return false;
}

clickedRow.remove();

resizeRowspan(cls);

});

728x90
반응형
반응형

기본적인 홈페이지 콘텐츠중

메뉴 버튼 누를시 관련된 내용이 같은장소에서 내용만바뀌게 하는 것들이 종종있다.

다양한방법이있겠지만

내가 가장 자주쓰는 방법을 적어논다.

<ul>
  <li class="sw_li on" data-type="0"><a href="#" class="color_gray font_16" onclick="return false;">1</a></li>
  <li class="sw_li" data-type="1"><a href="#" class="color_gray font_16" onclick="return false;">2</a></li>
  <li class="sw_li" data-type="2"><a href="#" class="color_gray font_16" onclick="return false;">3</a></li>
  <li class="sw_li last" data-type="3"><a href="#" class="color_gray font_16" onclick="return false;">4</a></li>
</ul>

        <?php
        for($t=0;$t<4;$t++){
        ?>
        <div class="sw_con sw_con_<?php echo $t?>">
            <?php echo $t?>
        </div>    
        <?
        }
        ?>

  $(".sw_li").click(function(){
    $('.sw_li').removeClass('on');
    $(this).addClass('on');
    $(".sw_con").hide();
    var type =$(this).data('type');
    $(".sw_con_"+type).fadeIn();
    return false;
});

탭있고 ~ 컨텐츠부분은 for문 돌려서 내용 넣어줄꺼고 
스크립트는 type 속성으로 열고닫고~
728x90
반응형
반응형

날짜 인풋칸에 간단하게 적용한다

일단 datepicker 플러그인 넣어주시고

$('.start_time').datepicker({
dateFormat: "yy-mm-dd",
showButtonPanel: true,
onClose: function( selectedDate ) {
var event = arguments.callee.caller.caller.arguments[0];
if ($(event.delegateTarget).hasClass('ui-datepicker-close')) {
$(this).val('');
selectedDate = '';
}

        $('.start_time').val(selectedDate);
    }
});
728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

추가버튼으로 clone 추가하기  (0) 2020.07.23
탭 클릭시 콘텐츠 박스 나오게  (0) 2020.07.22
input 배열의 모든값 합 구하기  (0) 2020.07.10
카카오 지도 기본생성  (0) 2020.07.10
ajax 기본 코드  (0) 2020.07.09
반응형

input 의 합계를 구해달라고해서 작업하는데

name 값을 name = "sum[]" 이런식으로 배열화해서 넘겼었는데

스크립트로도 합이 필요해서 구했다

$(document).ready(function() {
var list = new Array();
$("input[name=sum]").each(function(index, item){
list.push($(item).val());
});
alert(list);
});

반복문 돌려서 네임 인덱스로 합산하는 구조

728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

탭 클릭시 콘텐츠 박스 나오게  (0) 2020.07.22
datepicker 간단 적용  (0) 2020.07.15
카카오 지도 기본생성  (0) 2020.07.10
ajax 기본 코드  (0) 2020.07.09
slick 슬라이더  (0) 2020.07.09
반응형

카카오지도를 많이 애용하는데

여러 기능이있지만

기본적인 틀만 작성해두자

script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=______________"> var map = new daum.maps.Map(container, options); //지도 생성 및 객체 리턴 //var imageSrc = '<?php echo G5_THEME_IMG_URL?>/point.png'; // 마커이미지의 주소입니다 //var imageSrc2 = '../theme/basic/img/point002.png'; //var imageSize = new daum.maps.Size(20, 40), // 마커이미지의 크기입니다 //imageOption = {offset: new daum.maps.Point(20, 40)}; // 마커이미지의 옵션입니다. 마커의 좌표와 일치시킬 이미지 안에서의 좌표를 설정합니다. var positions = [ { title: '위치', latlng: new daum.maps.LatLng(37.508068, 127.023545) }, ]; for (var i = 0; i < positions.length; i ++) { // 마커 이미지의 이미지 크기 입니다 var imageSize = new daum.maps.Size(25, 35); // 마커 이미지를 생성합니다 //var markerImage = new daum.maps.MarkerImage(imageSrc, imageSize); // 마커를 생성합니다 var marker = new daum.maps.Marker({ map: map, // 마커를 표시할 지도 position: positions[i].latlng, // 마커를 표시할 위치 title : positions[i].title, // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다 //image : markerImage // 마커 이미지 }); } // 마커가 지도 위에 표시되도록 설정합니다 marker.setMap(map); // 지도 클릭 막기 kakao.maps.event.addListener(map, 'click', function(mouseEvent) { return false; }); </script>/script

티스토리에 스크립트나 php 올리면 왜이렇게 깨지는거같지

728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

datepicker 간단 적용  (0) 2020.07.15
input 배열의 모든값 합 구하기  (0) 2020.07.10
ajax 기본 코드  (0) 2020.07.09
slick 슬라이더  (0) 2020.07.09
회원가입 validate.js 추가  (0) 2020.07.09
반응형

ajax 기본적으로 틀 할때

$('[name="ag_id"]').on('change', function() {

        ag_id = $(this).val();

            $.ajax({
                type: "POST",
                data: {ag_id:ag_id},
                url: '<?php echo G5_BBS_URL?>/ajax.agency_info.php',
                success: function(data) {

                    $("span.ag_ceo").text(data.data['ag_ceo']);
                    $("span.ag_ex").text(data.data['ag_ex']);

                }
            }); 

    })
728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

input 배열의 모든값 합 구하기  (0) 2020.07.10
카카오 지도 기본생성  (0) 2020.07.10
slick 슬라이더  (0) 2020.07.09
회원가입 validate.js 추가  (0) 2020.07.09
alert문 toastr 변경  (0) 2020.07.09
반응형

가벼운 슬라이더 찾다가 발견해서 꾸준히 사용중
반응형으로 사용하기도 편하긴하더라
플러그인 추가해주고나서~

-「제목블라 ...
내용 블라블라블라

$('.notice_slide').slick({
slide: 'div', //슬라이드 되어야 할 태그 ex) div, li
infinite : true, //무한 반복 옵션
fade: false,
slidesToShow : 3, // 한 화면에 보여질 컨텐츠 개수
slidesToScroll : 3, //스크롤 한번에 움직일 컨텐츠 개수
arrows : true, // 옆으로 이동하는 화살표 표시 여부
speed : 100, // 다음 버튼 누르고 다음 화면 뜨는데까지 걸리는 시간(ms)
dots : false, // 스크롤바 아래 점으로 페이지네이션 여부
autoplay : true, // 자동 스크롤 사용 여부
autoplaySpeed : 10000, // 자동 스크롤 시 다음으로 넘어가는데 걸리는 시간 (ms)
pauseOnHover : true, // 슬라이드 이동 시 마우스 호버하면 슬라이더 멈추게 설정
vertical : false, // 세로 방향 슬라이드 옵션
prevArrow : "", // 이전 화살표 모양 설정
nextArrow : "", // 다음 화살표 모양 설정,
dotsClass : "slick-dots", //아래 나오는 페이지네이션(점) css class 지정
responsive: [ // 반응형 웹 구현 옵션
{
breakpoint: 1300, //화면 사이즈 960px
settings: {
//위에 옵션이 디폴트 , 여기에 추가하면 그걸로 변경
slidesToShow:2,
slidesToScroll : 2,
}
},
{
breakpoint: 768, //화면 사이즈 768px
settings: {
//위에 옵션이 디폴트 , 여기에 추가하면 그걸로 변경
slidesToShow:1,
slidesToScroll : 1,
}
}
]
});

728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

카카오 지도 기본생성  (0) 2020.07.10
ajax 기본 코드  (0) 2020.07.09
회원가입 validate.js 추가  (0) 2020.07.09
alert문 toastr 변경  (0) 2020.07.09
첫글자 빼고 별표로 치환하기  (0) 2019.10.29
반응형

그누보드 기본 회원가입폼을 변경해서쓰다가

이번에 반응형으로 모조리 통합하면서 변경하게되었다

앱에서나 여타 사이트처럼 커서가 이동하면 바로바로 처리하도록하려고했고

ajax로 해야하나.. 하다가

플러그인발견!

첨에는 쪼금 난해했지만

일단 js 추가해주고

$.validator.setDefaults({

    onfocusout: function(element) { $(element).valid(); },
    focusInvalid: true,
    focusCleanup: false,
    errorClass: 'form-control-msg',
     errorElement: 'div',
    errorPlacement : function (error, element){ // data-error 속성으로 해당 위치 삽입
        var placement = $(element).data('error');
        if (placement) {
            $(placement).append(error);
        } else { // 없을경우 마지막노드 뒤에 삽입
            element.parent().children().last().after(error);
        }
    },
    highlight: function(element) {
      $(element)
        .closest('.form-group')
        .addClass('has-error');
    },
    unhighlight: function(element, errorClass, validClass) {
      $(element)
        .closest('.form-group')
        //.removeClass('has-error')
        //.addClass('text-success');
    },
});

//폼검사
$('#btn_submit, .form-control').click(function(){

    $("#fregisterform").validate({
        //validation이 끝난 이후의 submit 직전 추가 작업할 부분
        submitHandler: function() {

            if(!$("input:checkbox[id='agree_01']").is(":checked"))
            {
                toastr.error("이용약관을 동의해주세요");

                return false;
            }
            document.getElementById('fregisterform').submit();
        },
        //규칙
        rules: {
            mb_id: {
                required : true,
                remote: {
                    url: "<?php echo G5_BBS_URL?>/ajax.id_chk.php",
                    type: "POST",
                },
                specialchar:true
            },
            mb_name: {
                required : true,
            },

        },
        //규칙체크 실패시 출력될 메시지
        messages : {
            mb_id: {
                required : "아이디를 입력해 주세요.",
                remote : "중복된 아이디입니다.",
                specialchar : "회원아이디는 영문자, 숫자, _ 만 입력하세요."
            },
            mb_name: {
                required : "이름을 입력해 주세요.",
            },

        }
    });   

});

대충 이런느낌?
체크박스는 toastr 도 써주고
ajax로 바로바로 중복검사도 해줄수있더라
728x90
반응형

'프로그래밍 > javascript' 카테고리의 다른 글

ajax 기본 코드  (0) 2020.07.09
slick 슬라이더  (0) 2020.07.09
alert문 toastr 변경  (0) 2020.07.09
첫글자 빼고 별표로 치환하기  (0) 2019.10.29
휠다운 메뉴상단 고정  (0) 2019.07.25

+ Recent posts