[英]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"; }
id
来调用edit
按钮。因为 id 对于整个文档是唯一的。这就是为什么它在第一行元素上工作的原因。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.