테이블 행을 동적으로 삽입 / 제거 (추가 된 행에 ID를 부여하는 방법 포함)

뭄바이 몬스터

그림에서와 같이 동적으로 증가 / 축소하는 테이블을 구현하려고합니다. insertRow()함수 를 사용해야한다는 것을 알고 있지만 행에 ID를 동적으로 제공하는 방법에 대해 혼란 스럽습니다. 확인란이 선택되어 있으면 종료 날짜 입력 필드를 비활성화 할 수 있어야합니다 (이것이 ID를 제공해야하는 이유입니다). 행을 삽입하고 삭제할 수 있어야합니다. 나는 프로그래밍 개념에 상당히 경험이 있지만 일반적으로 JavaScript 및 웹 개발에 익숙하지 않습니다. 누군가가 나를 샘플 코드로 안내하거나 다른 효율적인 방법이 있는지 설명해 주시면 대단히 감사하겠습니다.

표

http://imgur.com/68t3dH2

MTroy

스크린 샷처럼 각 라인 컨트롤에 대해 작동하는 whitout id의 예 (id는 다른 것들 중 하나 일뿐입니다 ...)

동일한 ID를 여러 개 가질 수 없습니다. 그러면 작업 버튼이 해당 클래스 이름 ".add"및 ".del"로 호출된다고 가정합니다.

제거 용

$(".del").on("click", function()
{
    // removing the line of element clicked
    $(this).parents("tr").remove();
});

새로운 라인

$(".add").on("click", function()
{
    var line = $(this).parents("tr"); // get the line of element clicked
    var lineOffset = line.index(); // get the offset position of this line
    // and using css selector, you can simply add line after another
    $("table tr:eq("+lineOffset+")").after(line.clone(true));
    // line.clone(true) is an example, but you can put directly your html like "<tr>.... what you want</tr>"
});

테이블 테스트

<table>
    <tr id="a_0"><td>test0</td><td><span class="del">[X]</span><span class="add">[o]</span></td></tr>
    <tr id="a_1"><td>test1</td><td><span class="del">[X]</span><span class="add">[o]</span></td></tr>
    <tr id="a_2"><td>test2</td><td><span class="del">[X]</span><span class="add">[o]</span></td></tr>
</table>

(function() {

  $(".del").on("click", function() {
    // removing the line of element clicked
    $(this).parents("tr").remove();
  });

  $(".add").on("click", function() {
    var line = $(this).parents("tr"); // get the line of element clicked
    var lineOffset = line.index(); // get the offset position of this line
    // and using css selector, you can simply add line after another
    $("table tr:eq(" + lineOffset + ")").after(line.clone(true));
    // line.clone(true) is an example, but you can put directly your html like "<tr>.... what you want</tr>"
  });

})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table>
  <tr id="a_0">
    <td>test0</td>
    <td><span class="del">[X]</span><span class="add">[o]</span>
    </td>
  </tr>
  <tr id="a_1">
    <td>test1</td>
    <td><span class="del">[X]</span><span class="add">[o]</span>
    </td>
  </tr>
  <tr id="a_2">
    <td>test2</td>
    <td><span class="del">[X]</span><span class="add">[o]</span>
    </td>
  </tr>
</table>

그러나 내 예에서 볼 수 있듯이 a_ *로 시작하는 ID는 사용되지 않습니다 (예, 필요하지 않으며 귀하의 경우에 상대적인 것은 아닙니다) 그리고 그것을 만드는 또 다른 방법은 jquery 메서드 .index ()를 사용하여 줄을 얻는 것입니다. 오프셋 클릭 및 .. 제거 또는 복사!

노트 :

라인 ID를 사용해야하는 경우 다음과 같은 CSS 선택기를 사용하여 계속 진행할 수 있습니다.

$("tr[id^='a_']")

표를 비운 경우

$(".del").on("click", function()
{
    // removing the line of element clicked
    $(this).parents("tr").remove();
    if($("table tr").length == 1) // the only one remaining is the hidden_control (if you doesn't use a external button but a row)
       $("#hidden_control").show(); // or .css("display", "block");
});

$("#hidden_control").on("click", function()
{
    $("table").append("<tr><td>...</tr>"); // add a new first line
    $(this).hide(); // and hide it directly until next reinit
});

// hidden button at top (or bottom) of table (not in the table)
<input type="button" id="hidden_control" value="Refill new data">

// or, hidden row solution (where colspan=6 depend the number of cell you have: 
<tr id='hidden_control'><td colspan='6'><button>Refill new data</button></td></tr>

   // CSS class for hidden_control
   #hidden_control
   { display: none; }

문서 :

https://api.jquery.com/으로 이동하여 "parents", "after", "remove", "append", "html", "index"를 검색합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

jquery를 사용하여 동적으로 추가 된 테이블에서 ID가없는 특정 <td> 셀을 삭제하는 방법은 무엇입니까?

동적으로 생성 된 테이블 행 내에서 ID를 추가하고 조작하는 방법 jquery

테이블에 행을 동적으로 삽입하는 방법

페이지로드시로드 된 다른 행처럼 동작하도록 데이터 테이블에 동적으로 추가 된 행을 DOM 트리에 포함하는 방법은 무엇입니까?

동적으로 삽입 된 테이블 행에 액세스하는 방법

jquery를 사용하여 테이블에서 동적으로 추가 된 행 제거

동적으로 생성 된 테이블을 사용하여 동적으로 행을 추가하는 방법

ReacjJS에서 테이블 행을 동적으로 추가/삭제하는 방법

React.js에서 동적으로 테이블 행을 추가하고 제거하는 방법

마지막으로 삽입 된 ID를 사용하여 다른 테이블에 행을 삽입하는 방법은 무엇입니까?

행 삭제에 따라 테이블 행 ID를 동적으로 변경하는 방법은 무엇입니까?

테이블에서 동적으로 복제 된 행을 올바르게 제거하는 방법

Angular 5 : 테이블에서 동적으로 행을 추가하고 삭제하여 값을 얻는 방법

JS로 테이블에 새 행 추가, 변수를 포함하는 방법?

jQuery-동적으로 추가 된 드롭 가능한 테이블 행에 대한 이벤트 리스너를 구현하는 방법은 무엇입니까?

테이블 행을 동적으로 제거하는 방법

테이블 ID 태그가있는 경우 특정 ID를 텍스트로 포함하는 행을 삭제하는 방법은 무엇입니까?

jquery의 부트 스트랩 테이블을 사용하여 동적으로 생성 된 행에 ID 추가

jquery 데이터 테이블에서 동적으로 추가 된 행에 data-title 속성을 추가하는 방법은 무엇입니까?

nextval ()을 사용하여 문자열에 자체 ID가 포함 된 행을 삽입하는 방법

배열을 사용하여 html 테이블에 데이터가있는 행을 추가하는 방법, 부분적으로 작동하는 함수

테이블에 행을 삽입하거나 행이 이미있는 경우 값을 추가하는 방법

(Postgresql) 테이블 트리거 함수로 사용자 정의 복제를 위해 변경된 행의 ID 값을 로그 테이블에 삽입

테이블에 이전에 삽입 된 값을 기반으로 삽입 전 트리거를 만드는 방법

스크롤 가능한 테이블에서 동적으로 추가 된 행을 유지하는 방법

부동/정수가 아닌 변수가 포함된 데이터 프레임의 행을 제거하는 방법

삽입 된 행을 기반으로 테이블 추가 열을 변경하는 트리거 생성

링크가 포함된 td 선택기를 사용하여 테이블 열을 삽입하는 방법

JavaScript를 사용하여 동적 테이블의 각 행에 입력 값을 기반으로 일을 추가하는 방법

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관