繁体   English   中英

php 表上的编辑链接

[英]Edit link on php table

我有一个表,其中值来自数据库。 我需要将编辑链接合并到表格中。 其中,如果用户单击“编辑”,则数据库中的值将被放入用户可以编辑的文本框中,然后保存到数据库中。 它正在处理我的第一行值,但不适用于后续行。 请帮忙

 $(document).ready(function() { $(".loginDetails").click(function(e) { var input = $("<input>", { val: $(this).text(), type: "text" }); $(this).replaceWith(input); }); $("#edit-record").click(function(e) { e.preventDefault(); $("span.loginDetails").trigger("click"); }); });
 $sql = "SELECT * FROM details"; $queryres = mysqli_query($conn,$sql); while ($rowwaf = mysqli_fetch_assoc($queryres)) { echo "<form action=\ "update.php\" method=\ "POST\">\n"; echo "<td><span class=\ "loginDetails\"> ".$rowwaf["name"]." </span><a href=\ "#\" id=\ "edit-record\"> Edit </a></td>\n"; echo "<td>".$rowwaf["address"]."</td>\n"; echo "</form>\n"; }

  1. 您可以通过 class 而不是id来调用edit按钮。因为 id 对于整个文档是唯一的。这就是为什么它在第一行元素上工作的原因。
  2. 在编辑时单击通过父td定位跨度,如$(this).closest('td').

代码

$(document).ready(function() {
  $(".loginDetails").click(function(e) {
    var input = $("<input>", {
      val: $(this).text(),
      type: "text"
    });
    $(this).replaceWith(input);
  });

  $(".edit-record").click(function(e) {
    e.preventDefault();
    $(this).closest('td').find("span.loginDetails").trigger("click");
  });
});

您在这里犯了一个错误,您在编辑超链接中使用了 id,您必须将其更改为 class。 像这样:

$(".edit-record").click(function(e) {
e.preventDefault();
$(this).closest('td').find("span.loginDetails").trigger("click");  });

在你的 while 循环中,以这种方式将 id 更改为 class 进入超链接,例如:

echo "<td><span class=\ "loginDetails\"> ".$rowwaf["name"]." </span><a href=\ "#\" class=\ "edit-record\"> Edit </a></td>\n" ; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM