เกี่ยวกับการลบแถวโดยใช้ javascript

ตอนนี้ผมสร้างตารางโดยใช้ js แต่ให้สามารถเลือกที่จะแทรกแถวได้ดังนี้

var row = tbproduct.insertRow(value); //value = แถวที่ต้องการแทรก



อันนี้สร้างปุ่มลบ



var cell = row.insertCell(0);

     cell.appendChild(tdlink('product')); // product = id ของตาราง



function tdlink(table){

    var tb = $E(table);

    var cell = document.createElement("td");

    a = document.createElement('a');

    a.className = 'delete';

    a.href = 'javascript:void(0)'; 

    a.onclick=function(){

                 deleteTd(this,tb);

            };

    cell.appendChild(a);

    return cell;

}

function deleteTd(r,table){

            var i=r.parentNode.parentNode.rowIndex;

            table.deleteRow(i);

   }

ไม่สามารถใช้งานได้ครับ
19 พ.ค. 2555 5 2,954

คำถามไม่ได้ระบุว่าไม่สมารถทำอะไรได้.....เป็นสมาชิกมาตั้งนาน ถามคำถามไม่ถูกมันน่ามะ :34:



ที่สำคัญ เรื่องเกี่ยวกับตารางก็มีบทความบนเว็บ



ประเด็นที่เจอกันเสมอสำหรับปัญหาเกี่ยวกับตารางคือ ไม่มี tbody ครับ ทำให้ไม่สามารถใช้งานคำสั่งได้



table.tBodies(0).appendChild(tr);
#1

แหะๆๆ ขอโทษด้วยครับ ใจร้อนไปหน่อย



ปัญหาคือ ไม่สามารถลบแถวได้ครับ



โครงสร้างตารางคือ



<table id="tbproduct">

   <tbody id=tbody_product></tbody>

</table>



var tbproduct = document.getElementById("tbproduct");

var row = tbproduct.insertRow(value);

var cell = row.insertCell(0);

    cell.appendChild(tdlink('tbproduct'));



function tdlink(table){

    var tb = $E(table);

    var cell = document.createElement("td");

    a = document.createElement('a');

    a.className = 'delete';

    a.href = 'javascript:void(0)'; 

    a.onclick=function(){

                 deleteTd(this,tb);

            };

    cell.appendChild(a);

    return cell;

}

function deleteTd(r,table){

            var i=r.parentNode.parentNode.rowIndex;

            table.deleteRow(i);

}



code ตรงนี้สามารถแทรกแถวได้ครับ คอลัมที่ 0 อันนี้สร้างปุ่มลบ (row.insertCell(0);) พอกดแล้วไม่สามารถลบได้ครับ แต่พอกดแล้วสามารถเรียกฟังชั่น deleteTd ได้ครับ



ปล โค๊ด deleteTd สามารถทำงานได้ถ้าสร้างมาจาก php แบบนี้ครับ




<td><a class="delete" href="javascript:void(0)" onclick="deleteTd(this,'tbproduct')">&nbsp;</a></td>

#2

ปัญหาตอนนี้คือ แถวที่สร้างจาก js var i=r.parentNode.parentNode.rowIndex; ไม่คืนค่าแถวมาให้ครับ

แต่ถ้าสร้างจาก php มาก่อน 
var i=r.parentNode.parentNode.rowIndex; คืนท่าแถวมาให้
#3

แก้ได้แล้วครับ
#4

laugh
#5
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^