gpt4 book ai didi

javascript - 数据表激活单单元格编辑 onclick(第 2 部分)

转载 作者:行者123 更新时间:2023-12-01 01:01:33 25 4
gpt4 key购买 nike

继续我之前在这里发现的问题:

Datatable activate single cell editing onclick

我终于能够只用一个单元格来激活输入字段 onclick。

我的新问题是,虽然我可以单击单个单元格并激活它,但当我使用数据表过滤器搜索或转到数据表的另一页时,单元格激活不再有效。

$.ajax({
url: 'api/searchVoyageInfo.php',
type: 'POST',
data: '',
dataType: 'html',
success: function(data, textStatus, jqXHR){
var jsonObject = JSON.parse(data);
var table = $('#example1').DataTable({
"data": jsonObject,
"columns": [{
{ "data": "COLUMN1" },
{
"data": "COLUMN2",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
{
$(nTd).html("<a href='#' class='checkBound"+oData.VOYID+"' id='checkBound'
data-uid='"+oData.VOYID+"'>"+oData.COLUMN2+"</a>
<input type='text' class='editbound"+oData.VOYID+"'
id='editbound' data-uid='"+oData.VOYID+"'
value='"+oData.BOUND+" display: none;' />");
}
},
{ "data": "COLUMN3" },
// few more columns
}],
"iDisplayLength": 50,
"paging": true,
"bDestroy": true,
"autoWidth": true,
"dom": 'Bfrtip',
"buttons": [
// some extend buttons
]
});
},
error: function(// some stuff){
// do some other stuff
// this part is not important
}
});

如果您注意到上面的 COLUMN2 部分,我向 href 的 checkBound 类添加了 VOYID 值。我还将 VOYID 添加到输入的 editbound 类中。这样做可以防止每个 checkBound 类使用下面的 onclick 事件激活输入:

$('#example1').on('click', 'tr > td > a.checkBound', function(e)
{
e.preventDefault();
var $dataTable = $('#example1').DataTable();
var tr = $(this).closest('tr');
var data = $dataTable.rows().data();
var rowData = data[tr.index()];

var voyid = rowData.VOYID;

console.log(voyid);

$('.checkBound'+voyid).hide();
$('.editbound'+voyid).show();
});

使用上述所有内容,在数据表的第一页上,我可以成功激活单个单元格的输入 onclick。但它只适用于第一页。我无法激活任何其他页面上的输入。

我尝试将 onclick 事件从使用类切换为使用 id,以获得相同的结果。

如何解决这个问题?

最佳答案

您可以在点击事件处理程序中使用以下代码隐藏链接并显示字段

e.preventDefault();
$(this).hide().next().show();

关于javascript - 数据表激活单单元格编辑 onclick(第 2 部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56023887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com