Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入表中添加或删除行_Javascript_Html_Css_Bootstrap 4 - Fatal编程技术网

Javascript 在输入表中添加或删除行

Javascript 在输入表中添加或删除行,javascript,html,css,bootstrap-4,Javascript,Html,Css,Bootstrap 4,我正在尝试设计一个带有输入表的网页,用户可以根据需要添加或删除行。像这样的用户界面- 这是我的html代码: 欢迎使用带行添加选项的动态输入表 不 名称 Pnone号码 电子邮件 去除 1. 2. 3. 4. 添加行 删除最后一行 提交 你的问题有很多部分,应该分成几个问题。下面是一种删除行的简单方法。您将希望使按钮单击,而不是我在这里所做的。而且,您还需要进行ajax调用来删除数据库中的实际数据。这只是前端代码,用于直观地向用户显示已删除的行 $'.my-5 tr'.单击函数{ $this

我正在尝试设计一个带有输入表的网页,用户可以根据需要添加或删除行。像这样的用户界面-

这是我的html代码:

欢迎使用带行添加选项的动态输入表 不 名称 Pnone号码 电子邮件 去除 1. 2. 3. 4. 添加行 删除最后一行 提交
你的问题有很多部分,应该分成几个问题。下面是一种删除行的简单方法。您将希望使按钮单击,而不是我在这里所做的。而且,您还需要进行ajax调用来删除数据库中的实际数据。这只是前端代码,用于直观地向用户显示已删除的行

$'.my-5 tr'.单击函数{ $this.remove; 返回false; }; 欢迎使用带行添加选项的动态输入表 不 名称 Pnone号码 电子邮件 去除 1. 2. 3. 4. 添加行 删除最后一行 提交
你的问题有很多部分,应该分成几个问题。下面是一种删除行的简单方法。您将希望使按钮单击,而不是我在这里所做的。而且,您还需要进行ajax调用来删除数据库中的实际数据。这只是前端代码,用于直观地向用户显示已删除的行

$'.my-5 tr'.单击函数{ $this.remove; 返回false; }; 欢迎使用带行添加选项的动态输入表 不 名称 Pnone号码 电子邮件 去除 1. 2. 3. 4. 添加行 删除最后一行 提交
如果要执行添加和删除等操作,可以动态创建表

您可以在此处查看演示:

HTML:

JS:


如果要执行添加和删除等操作,可以动态创建表

您可以在此处查看演示:

HTML:

JS:


你能让你的代码成为一个可运行的代码段吗?如果是这样的话,我会更新我的答案,让它对你更有用。是的,谢谢你的建议,是这样的,你能让你的代码成为一个可运行的代码片段吗?如果是这样的话,我会更新我的答案,让它对你更有用。是的,谢谢你的建议,它是doneThanks很多,它可以完美地视觉删除任何细胞。但是我怎样才能添加一个单元格呢?我也尽量避免使用ajax,因为我不太擅长异步后端开发。有没有更简单的方法可以做到这一点?非常感谢,它可以完美地从视觉上移除任何细胞。但是我怎样才能添加一个单元格呢?我也尽量避免使用ajax,因为我不太擅长异步后端开发。有没有更简单的方法可以做到这一点呢?非常感谢,Ity工作得非常完美,现在我只有一个问题;要访问后端输入的数据,我应该使用哪个名称?我不明白你的问题,你想从行中获取数据并将其发送到后端吗?是的,我如何发送后端中的所有数据?通常,我使用post方法发送数据,并在Django中按其名称接收数据。这里可能是每个字段内容数组。我怎样才能真正从后端访问它们呢?非常感谢,City工作得非常好,现在我只有一个问题;要访问后端输入的数据,我应该使用哪个名称?我不明白你的问题,你想从行中获取数据并将其发送到后端吗?是的,我如何发送后端中的所有数据 终止通常,我使用post方法发送数据,并在Django中按其名称接收数据。这里可能是每个字段内容数组。如何从后端实际访问它们?
<head>
    <title></title>

    <!-- media query support -->
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />

    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

    <!-- Popper JS -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>

    <!-- font awsome css link -->   
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

</head>

<div class="container my-5">
  <h2>Welcome to dynamic input table with row adding option</h2>
    <table class="table table-hover my-5">

        <thead class="">
            <tr>
                <th>No</th>
                <th>Name</th>
                <th>Pnone Number</th>
                <th>Email</th>
                <th>Remove?</th>
            </tr>
        </thead>

        <tbody>        
        </tbody>

      </table>
      <div class="row m-0">
        <button class="btn btn-warning" onclick="addRow()">Add row</button>
        <button class="btn btn-danger ml-3">Delete last row</button>
        <button type="Submit" class="btn btn-primary ml-auto">Submit</button>
      </div>
</div>
let i = 0;

function rowTemplate(i) {
  return `<tr data-index=${i}>
      <td>${i}</td>
      <td><input type="text" name="name-${i}"></td>
      <td><input type="text" name="phone-${i}"></td>
      <td><input type="text" name="Email-${i}"></td>
      <td><i class="fa fa-times-circle" style="font-size: 22px; color: red;" onclick="removeRow(${i})"></i></td>
    </tr>`
}

for (i = 0; i < 4; i ++) {
  $('tbody').append(rowTemplate(i));
}

function removeRow(i) {
  $("tbody").find(`tr[data-index='${i}']`).remove();
}

function addRow() {
  $('tbody').append(rowTemplate(i));
  i++;
}