[JavaScript] 동적 태그 만들기

반응형

동적 태그 만들기

 

목차

     

     

      만들려는 것

    기본 테그
    추가버튼 누를 시, 테그 생성

    추가 버튼을 누르게 되면, 버튼이 추가되는 형식에 대해 만들도록 하겠습니다.

     

     

     

      HTML 코드

     JQuery를 활용했으며,  추가 버튼을 누를 시 태그의 생성이 됩니다.

    테스트를 누를 경우, 해당 테그의 값을 출력하도록 설정하였습니다.

     

    <!DOCTYPE html>
    <html lang="ko">
    
    <head>
        <meta charset="utf-8">
    
    
        <!-- Font Awesome -->
        <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
    
    
    
        <script type="text/javascript" src="./js/jquery-3.3.1.min.js"></script>
        <script type="text/javascript" src="./js/jquery-ui.min.js"></script>
        <script type="text/javascript" src="./js/swiper.min.js"></script>
        <script type="text/javascript" src="./js/script.js"></script>
    
        <style>
            
            .box-buttons {
                margin-top: 50px;
                text-align: center;
                font-size: 0;
            }
    
            .box-buttons .btn {
                margin: 0 5px;
                line-height: 40px;
                height: 40px;
                font-size: 1rem;
                padding: 0 20px;
                border: 0;
                border-radius: 3px;
            }
    
            .btn
            {
                color : white;
                text-decoration: none;
            }
    
            .box-buttons .btn-blue {
                background-color: #0088cf;
            }
    
            .box-buttons .btn-gray {
                background-color: #6b7f89;
            }
            .box-buttons .btn-red {
                background-color: #f00;
            }
    
            .flex-box
            {
                display: flex;
            }
    
            .flex-box {
                justify-content: space-between;
            }
    
    
            .flex-table .item.table-th .bullet {
                margin-right: 5px;
                color: red;
            }
    
        </style>
    
    
        
    </head>
    
    <body class="pg-main">
    
        <div id="Contents">
            
            <form>
                <div class="input-section input-multi-file">
                    <div class="flex-table">
                        <div class="flex-box">
                            <div class="item table-th">
                                <span class="bullet">*</span>첨부 제목
                            </div>
                            <div class="item table-td">
                                <input class="w-full" type="text" name="" id='abc0' value="">
                            </div>
                            <div class="item table-th">
                                <span class="bullet">*</span>첨부 파일
                            </div>
                            <div class="item table-td">
                                <input class="w-full" type="file" name="" value="">
                            </div>
                        </div>
                    </div>
                    <div class="buttons-file">
                       
                    </div>
                </div>
               
                <div class="box-buttons">
                    <a class="btn btn-blue" id="BtnFileAdd" href="javascript:;">추가</a>
                    <a class="btn btn-gray" id='BtnFileSubtract'  href="javascript:;">삭제</a>
                    <a class="btn btn-red" id='BtnSubmit'  href="javascript:;">테스트</a>
                </div>
            </form>
        </div>
    
    
        <script>
            $(function() {
          
                var cnt = 0;
    
                $('#BtnFileAdd').click(function() {
                    var oEl = $('.input-multi-file').find('.flex-table');
    
                    if (oEl.find(".flex-box").length < 5) {
                        oEl.find(".flex-box").last().clone().appendTo(oEl);
                        oEl.find(".flex-box").last().find("input").val("");
                        var name = 'abc'+(++cnt);
                        oEl.find(".flex-box").last().find("input").attr('id', name);
                    } else {
                        alert('첨부서류는 최대 5개 입니다.');
                    }
    
                    return false;
                })
    
                $('#BtnFileSubtract').click(function() {
                    var oEl = $('.input-multi-file').find('.flex-table');
    
                    if (oEl.find(".flex-box").length > 1) {
                        oEl.find(".flex-box").last().remove();
                        --cnt;
                    } else {
                        alert('첨부서류는 최소 1개 입니다.');
                    }
    
                    return false;
                })
    
                $('#BtnSubmit').click(function() {
    
                    
                    for(var i=0; i<=cnt; i++)
                    {
                        var name = '#abc'+i;
                        var alt = $(name).val();
                        alert(alt);
                    }
    
    
                })
            });
        </script>
    
    
    </body>
    반응형

    'Computer > 기타' 카테고리의 다른 글

    OpenLayers, Layers 설정 만들기  (0) 2021.08.27
    [Tomcat] 톰캣의 기본 설정  (1) 2021.06.26
    [Tomcat] 톰켓에 SSL 적용하기  (0) 2021.05.26
    [JavaScript] userAgent 사용하기  (0) 2021.05.24
    [CentOs] OPEN SSL 설치  (0) 2021.05.22

    댓글

    Designed by JB FACTORY