ตัวอย่างแนวทางต่อไปนี้ เป็นเทคนิค เล็กน้อยในการใช้งานตัวแปร JavaScript เก็บ html
โดยตัวอย่างประยุกต์จากเนื้อหา
เทคนิค การเพิ่ม ลบ แถว ในตาราง รายการข้อมูล ด้วย jQuery อย่างง่าย
https://www.ninenik.com/content.php?arti_id=299
โค้ด html ประกอบอธิบาย
<form id="form1" name="form1" method="post" action=""> <table id="myTbl" width="650" border="1" cellspacing="2" cellpadding="0"> <tr> <td width="119"><select name="data1[]" id="data1[]"> <option value="1">data1</option> <option value="2">data2</option> </select></td> <td width="519"><input type="text" name="data2[]" id="data2[]" /></td> </tr> </table> <br /> <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <button id="addRow" type="button">+</button> <button id="removeRow" type="button">-</button> <button id="Submit" type="submit">Submit</button> </td> </tr> </table> </form>
จากโค้ดด้านบน เราต้องการ เอา html บรรทัดที่ 3 - 9 มากำหนดในตัวแปร JavaScript
สร้างรูปแบบตัวแปร
var dataClone='\ ';
จากนั้นก็อบโค้ดบรรทัดที่ 3 - 9 มาใส่ด้านใน รูปแบบตัวแปรที่เรากำหนด จะได้
var dataClone='\ <tr> <td width="119"><select name="data1[]" id="data1[]"> <option value="1">data1</option> <option value="2">data2</option> </select></td> <td width="519"><input type="text" name="data2[]" id="data2[]" /></td> </tr> ';
สังเกตว่าใน attribute ของ html จะกำหนดค่าใน " (double quote) ทั้งหมด
จากนั้น ให้ต่อท้ายบรรทัด html ทุกบรรทัด ด้วย \ จะได้
var dataClone='\ <tr>\ <td width="119"><select name="data1[]" id="data1[]">\ <option value="1">data1</option>\ <option value="2">data2</option>\ </select></td>\ <td width="519"><input type="text" name="data2[]" id="data2[]" /></td>\ </tr>\ ';
นำไปประยุกต์กับเนื้อหา เทคนิค การเพิ่ม ลบ แถว ในตาราง รายการข้อมูล ด้วย jQuery อย่างง่าย
https://www.ninenik.com/content.php?arti_id=299
ผลลัพธ์ที่ได้ คือบรรทัดที่มีการเพิ่มมา จะไม่เอาข้อมูลที่ทำการพิมพ์ไปแล้วมาแสดง
ตัวอย่าง
โค้ดตัวอย่างทั้งหมด
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery clone no data</title> </head> <body> <form id="form1" name="form1" method="post" action=""> <table id="myTbl" width="650" border="1" cellspacing="2" cellpadding="0"> <tr> <td width="119"><select name="data1[]" id="data1[]"> <option value="1">data1</option> <option value="2">data2</option> </select></td> <td width="519"><input type="text" name="data2[]" id="data2[]" /></td> </tr> </table> <br /> <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <button id="addRow" type="button">+</button> <button id="removeRow" type="button">-</button> <button id="Submit" type="submit">Submit</button> </td> </tr> </table> </form> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript"> $(function(){ var dataClone='\ <tr> \ <td width="119"><select name="data1[]" id="data1[]"> \ <option value="1">data1</option> \ <option value="2">data2</option> \ </select></td> \ <td width="519"><input type="text" name="data2[]" id="data2[]" /></td> \ </tr> \ '; $("#addRow").click(function(){ $("#myTbl").append(dataClone); }); $("#removeRow").click(function(){ if($("#myTbl tr").size()>1){ $("#myTbl tr:last").remove(); }else{ alert("ต้องมีรายการข้อมูลอย่างน้อย 1 รายการ"); } }); }); </script> </body> </html>