以下是一个示例代码,展示了如何使用JavaScript和HTML来实现编辑内联行数据的功能,包括图像和下拉菜单:
HTML部分:
Name
Age
Gender
Options
John
30
Male
Jane
25
Female
JavaScript部分:
function editRow(button) {
var row = button.parentNode.parentNode;
var cells = row.getElementsByTagName("td");
// 获取原始数据
var name = cells[0].innerText;
var age = cells[1].innerText;
var gender = cells[2].innerText;
// 创建表单元素
cells[0].innerHTML = '';
cells[1].innerHTML = '';
cells[2].innerHTML = '';
// 更新按钮
button.innerHTML = "Save";
button.onclick = function() {
saveRow(this);
};
}
function saveRow(button) {
var row = button.parentNode.parentNode;
var cells = row.getElementsByTagName("td");
// 获取修改后的数据
var name = cells[0].getElementsByTagName("input")[0].value;
var age = cells[1].getElementsByTagName("input")[0].value;
var gender = cells[2].getElementsByTagName("select")[0].value;
// 更新数据
cells[0].innerHTML = name;
cells[1].innerHTML = age;
cells[2].innerHTML = gender;
// 更新按钮
button.innerHTML = "Edit";
button.onclick = function() {
editRow(this);
};
}
function deleteRow(button) {
var row = button.parentNode.parentNode;
row.parentNode.removeChild(row);
}
这段代码创建了一个表格,并为每行的“Edit”按钮和“Delete”按钮绑定了相应的事件处理函数。当点击“Edit”按钮时,会将当前行的数据替换为可编辑的表单元素;当点击“Save”按钮时,会将修改后的数据保存并还原为文本形式。点击“Delete”按钮时,会删除当前行。
注意:以上示例代码仅为演示编辑内联行数据的基本逻辑,实际项目中可能需要考虑更多的验证、错误处理和数据存储等功能。
下一篇:边境中的奇怪空间