[英]How to add row by clicking a button
我有一個html表,其中沒有任何條目,並且我已經使用javascript函數在表中添加新行。 我點擊了此鏈接http://mrbool.com/how-to-add-edit-and-delete-rows-of-a-html-table-with-jquery/26721,但我不知道問題出在哪里它沒有添加任何行。 即使單擊“新建”按鈕,也沒有任何反應。 我已經添加了所有js文件和圖像,但是仍然存在問題,我無法理解問題出在哪里。 這是我的html表
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript" src="function.js"></script>
</head>
<body>
<button id="btnAddd">New</button>
<table id="tblData">
<thead>
<tr>
<th>Name</th>
<th>Phone</th>
<th>Email</th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
而我的function.js文件是這個
function Add() {
$("#tblData tbody")
.append(
"<tr>"
+ "<td><input type='text'/></td>"
+ "<td><input type='text'/></td>"
+ "<td><input type='text'/></td>"
+ "<td><img src='disk.png' class='btnSave'><img src='delete.png' class='btnDelete'/></td>"
+ "</tr>");
$(".btnSave").bind("click", Save);
$(".btnDelete").bind("click", Delete);
};
function Save() {
var par = $(this).parent().parent();
var tdName = par.children("td:nth-child(1)");
var tdPhone = par.children("td:nth-child(2)");
var tdEmail = par.children("td:nth-child(3)");
var tdButtons = par.children("td:nth-child(4)");
tdName.html(tdName.children("input[type=text]").val());
tdPhone.html(tdPhone.children("input[type=text]").val());
tdEmail.html(tdEmail.children("input[type=text]").val());
tdButtons
.html("<img src='images/delete.png' class='btnDelete'/><img src='images/pencil.png' class='btnEdit'/>");
$(".btnEdit").bind("click", Edit);
$(".btnDelete").bind("click", Delete);
};
function Delete() {
var par = $(this).parent().parent();
par.remove();
};
$(function() {
$(".btnEdit").bind("click", Edit);
$(".btnDelete").bind("click", Delete);
$("#btnAdd").bind("click", Add);
});
請幫我解決這個問題。 提前致謝。
您添加按鈕的ID為:已添加,但您在jquery代碼中使用#add。
將#Add更改為#Add in jquery部分。
首先正確拼寫按鈕,然后從“添加”中刪除多余的“ d”
<button id="btnAdd">New</button>
而且您無需為行中添加的每個刪除/編輯按鈕綁定點擊事件。 此外,使用.on()
綁定動態添加按鈕的click事件。 見下面的代碼
function Add() {
$("#tblData tbody")
.append(
"<tr>"
+ "<td><input type='text'/></td>"
+ "<td><input type='text'/></td>"
+ "<td><input type='text'/></td>"
+ "<td><img src='disk.png' class='btnSave'><img src='delete.png' class='btnDelete'/></td>"
+ "</tr>");
};
function Save() {
var par = $(this).parent().parent();
var tdName = par.children("td:nth-child(1)");
var tdPhone = par.children("td:nth-child(2)");
var tdEmail = par.children("td:nth-child(3)");
var tdButtons = par.children("td:nth-child(4)");
tdName.html(tdName.children("input[type=text]").val());
tdPhone.html(tdPhone.children("input[type=text]").val());
tdEmail.html(tdEmail.children("input[type=text]").val());
tdButtons
.html("<img src='images/delete.png' class='btnDelete'/><img src='images/pencil.png' class='btnEdit'/>");
};
function Delete() {
//use closest to find parent TR
var par = $(this).closest("tr");
par.remove();
};
$(function() {
$(".btnEdit").bind("click", Edit);
$(".btnDelete").bind("click", Delete);
$("#btnAdd").bind("click", Add);
//add click event for dynamically added button
$("tblData").on("click",".btnSave", Save);
$("tblData").on("click",".btnDelete", Delete);
$("tblData").on("click",".btnEdit", Edit);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.