使用javascript和php的动态文本框

时间:2016-02-19 17:21:14

标签: javascript php jquery

你好,我在javascript和jquery新手。 我想使用javascript创建一个动态文本框,可以添加和删除一行。当我按下添加按钮时,效果很好。但当我按下删除时,它删除了我的所有表格。

这是我的javascript函数和我的PHP代码:

<script type="text/javascript">
    function addProg(){

            document.getElementById("add_prog").innerHTML += "<tr><td><input type='date' class='form-control' name='tanggal[]'></td><td><input type='number' class='form-control' name='kuota[]'></td><td><input type='time' class='form-control' name='jam_mulai[]'></td><td><input type='button' class='btn btn-danger' onclick='hapus()' value='Hapus'></tr>";
    }

    function hapus() 
    {
        var x = document.getElementById("add_prog");
        x.remove(x.tr);
    }
</script>
<div class="container">    
        <center><h3>Form Pendaftaran 
        </h3><center><br>
            <table class="table table-bordered">
            <thead><tr>
            <td> a </td>
            <td> b </td>
            <td> c </td>
            </tr></thead>

            <tbody id="add_prog">

            <tr id="1">
            <td><input type="date" class="form-control" name="tanggal[]"></td>
            <td><input type="number" class="form-control" name="kuota[]"></td>
            <td><input type="time" class="form-control" name="jam_mulai[]"></td>
            <td><input type="button" class="btn btn-danger" onclick="hapus()" value="Hapus"></td>
            </tr>

            </tbody>
            </table>

            <input type="button" class="btn btn-default" onclick="addProg()" value="Tambah">

我不知道如何删除我要删除的特定索引并将其写入我的脚本中。有人可以告诉我该怎么做吗?

2 个答案:

答案 0 :(得分:1)

  

使用element.parentNode.parentNode.remove();删除元素,因为您必须找到带有相应按钮的tr元素

试试这个:

&#13;
&#13;
function addProg() {

  document.getElementById("add_prog").innerHTML += "<tr><td><input type='date' class='form-control' name='tanggal[]'></td><td><input type='number' class='form-control' name='kuota[]'></td><td><input type='time' class='form-control' name='jam_mulai[]'></td><td><input type='button' class='btn btn-danger' onclick='hapus(this)' value='Hapus'></tr>";
}

function hapus(element) {
  element.parentNode.parentNode.remove(); //document.getElementById('add_prog').removeChild(element.parentNode.parentNode);
}
&#13;
<div class="container">
  <center>
    <h3>Form Pendaftaran 
        </h3>
    <center>
      <br>
      <table class="table table-bordered">
        <thead>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
        </thead>

        <tbody id="add_prog">

          <tr id="1">
            <td>
              <input type="date" class="form-control" name="tanggal[]">
            </td>
            <td>
              <input type="number" class="form-control" name="kuota[]">
            </td>
            <td>
              <input type="time" class="form-control" name="jam_mulai[]">
            </td>
            <td>
              <input type="button" class="btn btn-danger" onclick="hapus(this)" value="Hapus">
            </td>
          </tr>

        </tbody>
      </table>

      <input type="button" class="btn btn-default" onclick="addProg()" value="Tambah">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我认为您要删除的内容是您的tbody元素的lastChild

以下是lastChild的一些信息。