问题描述
我正在构建一个函数,允许我向上或向下向表添加行。 我现在正在使用“向上”功能,我认为它与向下功能非常相似。 我正在使用JavaScript / Jquery,并且仅在他们保存该行之后才会显示向上箭头。 这是我的Save函数和正在进行的up函数无法正常工作的代码。
function Save() {
var par = $(this).parent().parent(); //tr
var tdDate = par.children("td:nth-child(1)");
var tdTime = par.children("td:nth-child(2)");
var tdTreatmentNum = par.children("td:nth-child(3)");
var tdCellNum = par.children("td:nth-child(4)");
var tdWasteContNum = par.children("td:nth-child(5)");
var tdButtons = par.children("td:nth-child(6)");
tdDate.html(tdDate.children("input[type=date]").val());
tdTime.html(tdTime.children("input[type=time]").val());
tdTreatmentNum.html(tdTreatmentNum.children('select').val());
tdCellNum.html(tdCellNum.children('select').val());
tdWasteContNum.html(tdWasteContNum.children('select').val());
tdButtons.html("<img src='trash.png' class='btnDelete'/>
<img src='pencil.png' class='btnEdit'/><img src='up.png'class='btnUp'/>");
$(".btnEdit").bind("click", Edit);
$(".btnDelete").bind("click", Delete);
$(".btnUp").bind("click", Up);
};
function Up() {
var row = $(this).parent().parent(); //tr
if ($(this).hasClass('up'))
row.prev().before(row);
else
row.next().after(row);
});
我对JQuery不熟悉。 我的添加行不再起作用(尽管我知道它可以正常运行)。 这是用于添加,保存和启动功能(包括html表)的更完整的代码。 有任何想法吗?
更新-
这样做很有帮助,但似乎只是将项目移到列表的底部,而不是向上或向下移动。
1楼
您提供的JSFiddle中存在一些问题。 我已经更新了您的代码,并在问题本身中提供了一个工作示例。
由于无法显示您正在使用的实际图像,因此我使用了引导程序库的字形图标来显示类似图像。
您可以在开发环境中再次用<img>
替换<span>
标记,并且一切正常。
当您要求Delete
和Save
此版本的更新工作正常。
希望这可以帮助您相处。