Javascript 如何将jquery tabledit按钮添加到表的新行
如何告知jQuery tabledit行已更改?按钮仅为现有行生成,当我添加新行(例如使用jQuery)时,表按钮不会出现在新行中。我在tabledit代码中看到,可以在查看模式和编辑模式之间切换(也许这会对我有所帮助),但我不知道在创建tabledit之后以及更改行时如何访问这些方法 我的代码中的一个小片段:Javascript 如何将jquery tabledit按钮添加到表的新行,javascript,jquery,html-table,tableview,Javascript,Jquery,Html Table,Tableview,如何告知jQuery tabledit行已更改?按钮仅为现有行生成,当我添加新行(例如使用jQuery)时,表按钮不会出现在新行中。我在tabledit代码中看到,可以在查看模式和编辑模式之间切换(也许这会对我有所帮助),但我不知道在创建tabledit之后以及更改行时如何访问这些方法 我的代码中的一个小片段: $(document).ready(function(){ $(‘#btn’).click(function(){ ... adding row, I need to upda
$(document).ready(function(){
$(‘#btn’).click(function(){ ... adding row, I need to update tabledit here });
$(‘#table’).Tabledit(...parameters...); }
});
这是我能为您的情况想出的最佳解决方案 我创建了一个“添加”按钮注意
for table
属性,以便我以后可以确定要添加到哪个表
<button id='add' for-table='#example1'>Add Row</button>
本质上
行标识符
在我有限的测试中,这项技术似乎有效。这是我能为您的情况想出的最佳解决方案 我创建了一个“添加”按钮注意
for table
属性,以便我以后可以确定要添加到哪个表
<button id='add' for-table='#example1'>Add Row</button>
本质上
行标识符
在我有限的测试中,这项技术似乎有效。每次重新加载表时都应该执行jQuery Tabledit。请参见此处给出的答案: 这意味着每次重新加载表时(例如导航到新页面、刷新等),必须在未初始化表的页面上初始化Tabledit。问题是无法知道Tabledit是否已经在表上初始化,因此如果重新初始化,重复按钮(编辑、删除..)将添加到表的行中。您也不能销毁不存在的Tabledit,因此总是事先调用“destroy”将没有帮助 因此,我创建了自己的函数来告诉我Tabledit是否在表的某个页面上初始化:
function hasTabledit(table) {
return $('tbody tr:first td:last > div', table).hasClass("tabledit-toolbar");
}
并按如下方式使用:
if( !hasTabledit($('#table')) ) {
$('#table').Tabledit({
url: 'example.php',
columns: {
identifier: [0, 'id'],
editable: [[1, 'points'], [2, 'notes']]
},
editButton: true,
deleteButton: false
});
}
hasTabledit(..)
函数检查表格第一行的最后一个单元格是否有一个div,该div具有tabledit工具栏
类,因为这是保存tabledit按钮的div。你可以随心所欲地改进它。这不是一个完美的解决方案,但这是我能做的最好的解决方案。jQuery Tabledit应该在每次重新加载表时执行。请参见此处给出的答案:
这意味着每次重新加载表时(例如导航到新页面、刷新等),必须在未初始化表的页面上初始化Tabledit。问题是无法知道Tabledit是否已经在表上初始化,因此如果重新初始化,重复按钮(编辑、删除..)将添加到表的行中。您也不能销毁不存在的Tabledit,因此总是事先调用“destroy”将没有帮助
因此,我创建了自己的函数来告诉我Tabledit是否在表的某个页面上初始化:
function hasTabledit(table) {
return $('tbody tr:first td:last > div', table).hasClass("tabledit-toolbar");
}
并按如下方式使用:
if( !hasTabledit($('#table')) ) {
$('#table').Tabledit({
url: 'example.php',
columns: {
identifier: [0, 'id'],
editable: [[1, 'points'], [2, 'notes']]
},
editButton: true,
deleteButton: false
});
}
hasTabledit(..)
函数检查表格第一行的最后一个单元格是否有一个div,该div具有tabledit工具栏
类,因为这是保存tabledit按钮的div。你可以随心所欲地改进它。这不是一个完美的解决方案,但这是我能做的最好的解决方案。快速查看,Tabledit似乎不支持添加行//仅支持编辑/还原/删除。每次从头开始重新初始化$(“#table”).Tabledit()
似乎是唯一的方法。当我尝试重新调整斜体时,它会在现有按钮旁边多次添加编辑器按钮。可能我尝试在重新初始化之前删除Tabledit编辑器列。不幸的是,我现在无法使用不同的表解决方案。您能否提供添加行之前、添加行之后的HTML以及添加行的代码。快速查看,Tabledit似乎不支持添加行//仅支持编辑/还原/删除。每次从头开始重新初始化$(“#table”).Tabledit()
似乎是唯一的方法。当我尝试重新调整斜体时,它会在现有按钮旁边多次添加编辑器按钮。可能我尝试在重新初始化之前删除Tabledit编辑器列。不幸的是,我现在不能使用不同的表解决方案。您可以提供添加前的HTML、添加行后的HTML以及添加行的代码吗。