• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

테이블 디자인 문의 드립니다.

20.06.01 08:59 작성 조회수 138

0

위에 이미지와 비슷한 테이블을 만들어 보려고 합니다.

필드 클릭시 해당 레코드의 input 태그가 활성화 되면서

SAVE 와 Cancel 버튼이 보여지게 하려고 합니다.

( 위 이미지는 Edit 버튼 클릭시 해당 레코드의 input 태그가 활성화 되는것 같습니다. )

예시나 팁을 좀 주실수 있을까요?

답변 2

·

답변을 작성해보세요.

0

팁 감사합니다..^^

0

체크된 상태에 따라 해당 tr의 내용물들 표시 상태를 변경하는 샘플을 단순한 형태로 만들어 보았는데
한번 참고해 보세요^^

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            margin: 0;
        }
        table {
            width: 100%;
        }
        td {
            position: relative;
            width: 30%;
            height: 40px;
            border: 1px solid black;
        }
        td:first-child {
            width: 10%;
        }
        .buttons {
            display: none;
            position: absolute;
            top: 30px;
            left: 0;
            z-index: 99999;
            width: 100vw;
            border: 1px solid lightgray;
            background: white;
            box-shadow: rgba(0, 0, 0, 0.2) 0 2px 3px;
        }
        .input-mode {
            color: red;
        }
        .input-mode .buttons {
            display: block;
        }
    </style>
</head>
<body>
    <table cellspacing="0">
        <tr data-index="0">
            <td>
                <input type="checkbox" class="cb" data-index="0">
                <div class="buttons">BUTTOS</div>
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
        </tr>
        <tr data-index="1">
            <td>
                <input type="checkbox" class="cb" data-index="1">
                <div class="buttons">BUTTOS</div>
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
        </tr>
        <tr data-index="2">
            <td>
                <input type="checkbox" class="cb" data-index="2">
                <div class="buttons">BUTTOS</div>
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
            <td>
                Lorem ipsum
            </td>
        </tr>
    </table>

    <script>
        window.addEventListener('click', (e) => {
            if (e.target.classList.contains('cb')) {
                const trElem = document.querySelector(`tr[data-index="${e.target.dataset.index}"]`);
                trElem.classList.toggle('input-mode');
            }
        });
    </script>
</body>
</html>