2012-07-03 2 views
0

jQuery를 사용하여 html 테이블에 행을 추가했지만 브라우저를 새로 고치면 행이 사라집니다. 행을 유지하려면 어떻게해야합니까?jQuery를 사용하여 테이블에 행을 추가했지만 브라우저 새로 고침으로 행을 추가하면 사라졌습니다.

<TABLE id="dataTable" width="100%" align="center"> 
    <TR align="center" border="1"> 
     <TH></TH> 
     <TH>ID </TH> 
     <TH>Name</TH> 
     <TH>Status</TH> 
    </TR> 
    <TR align="center"> 
     <TD><INPUT type="checkbox" name="chk"/></TD> 
     <TD> 1 </TD> 
     <TD> <INPUT type="text" value="Submission 1" /> </TD> 
     <TD>Working version</TD> 
    </TR> 
</TABLE> 

<script type="text/javascript"> 

$(document).ready(function(){ 
$('#createNew').click(function() { 
    var table = document.getElementById('dataTable'); 

    var rowCount = table.rows.length; 

    $('#dataTable tr:last').after('<TR align="center"><TD><INPUT type="checkbox" name="chk"/></TD><TD>'+ rowCount + '</TD><TD> <INPUT type="text" value="Submission 1" /> </TD><TD>Working version</TD></TR>'); 
+0

- 당신이 어딘가에 변경 사항을 저장해야하는 변경 사항을 저장하려는 경우 및 그들을로드에 표시 ... 당신은 서버 측 언어를 사용하고 있습니까? – ManseUK

+0

어떻게 든 행 생성을 기록한 다음 (예 :''), 페이지가 표시 될 때 다시 행을 다시 작성해야합니다. 서버 측 코딩을 사용하고 있습니까? – freefaller

답변

0

에서 동일하게 확인할 수 있습니다 메모리 누수 데이터를 방지 할 수 있지만 여기에 표시된 것처럼 당신은 쿠키에 새 행을 저장하기 위해 시도 할 수 있습니다 :
how to store an array in jquery cookie?

이 방법 페이지 후 새로 고침 행을 다시 가져옵니다 (물론 페이지를 다시로드 할 때 쿠키를 읽고 행을 추가해야합니다).

그러나 가장 좋은 해결책은 서버 측 코드를 사용하여 데이터베이스에 새 행을 저장하고 페이지를 새로 고칠 때마다로드하는 것입니다. 이렇게하면 해당 페이지에 액세스하는 모든 사람에게 새 레코드가 표시됩니다 (또는 특정 사용자가 사용자 ID를 추가하는 경우 사용자에게 물어보십시오. @Kell 응답에서

확인 문서는,이 구현 :) 정말 쉽게

HTML이 파일에서 페이지가 요청 될 때마다 렌더링
0

jQuery만으로는 불가능합니다.

예를 들어 데이터베이스에 변경 사항을 저장해야합니다.

편집 : 또는 PHP, $ _SESSION, $ _COOKIE을 (를) 사용할 수 있습니다. 잘 모르겠지만 많은 방법이 있지만 jQuery 만 사용하면 안됩니다.

0

첫 번째 위치에서 데이터를 가져 오는 위치에 따라 달라집니다. 데이터베이스에서 데이터를 가져 와서 테이블에 집어 넣는 경우 ajax 콜백을 작성하여 jquery로 데이터를 데이터베이스에 삽입해야합니다.

this for details를 참조

0

당신은 테이블에 데이터를 바인딩하는 .data 기능을 사용하고 가능한 한 그것을 여러 번 복사 할 수 있습니다? .data 당신이 그냥 제안입니다 api.jquery.com

관련 문제