テーブルのフィルターにhttps://github.com/chromawoods/instaFiltaを使用しています
テーブルには、ajax を使用した動的な行挿入があり、各行セルは、次を使用してその場で編集を使用して更新できます。
https://github.com/itinken/jinplace
ここで、新しい行を追加してから、たとえば「タイトル」を「Linux」に編集してからフィルタリングしようとすると、「Linux」を含む行が表示され、「Linux」を「Unix」に変更してもう一度試してくださいサーバーからページをリロードせずにフィルター処理します。「Unix」という単語は古いデータに変更されます。ここでは、「Linux」とフィルターが機能せず、ページをリロードすると、タイトルが正しく「Unix」と表示されます。
そのため、フィルタリングを試みると、dom が古いデータから更新されます。
コード:
//インプレース編集
$(document).on('click', 'span.editable', function(event) {
$('.editable').jinplace({
url: '/onit/web/data-updater.php',
textOnly: false,
placeholder: '',
okButton: '',
cancelButton: ''
})
.on('jinplace:done', function(event, data) {
console.log('Successful! New value is', data);
});
});
これはコードです
// フィルター
$(document).on('click', '#filter-me', function(event) {
//event.preventDefault();
$('#filter-me').instaFilta({
//scope: '.content-wrapper',
//targets: '.instafilta-target',
caseSensitive: false,
markMatches: true,
beginsWith: false,
matchCssClass: 'instafilta-match',
itemsHideEffect: 'slideUp',
itemsHideDuration:300
});
});
edit-in-place を使用して行が更新されたときにフィルターを更新するにはどうすればよいですか、または instaFilta に最新の dom を取得するように指示するにはどうすればよいですか?