jQuery DataTablesプラグインを使用していますが、フィルタリング機能にわずかな問題があります。のような内容のテーブルセルがあり<a href='foo6'>Blah</a>
、「6」でフィルタリングすると、「Blah」に「6」がなくても、そのセルが表示されます。私がやりたいのは、DataTablesプラグインがフィルタリングを行うときにHTMLを無視するようにすることです。
DataTablesサイトを精査してみたところ、矛盾する、役に立たないリードが見つかりました。ある投稿sType:'html'
では、aaColumnsの定義にオプションが必要であると提案されましたが、それを試しましたが、役に立ちませんでした...さらに、後の投稿では、現在のバージョンのDataTablesがHTMLsTypeを自動検出することを提案しました。このコードスニペットも見つかりました:
// Make filtering ignore HTML (see http://datatables.net/plug-ins/filtering)
$.fn.dataTableExt.ofnSearch['html'] = function ( sData ) {
var n = document.createElement('div');
n.innerHTML = sData;
if (n.textContent) {
return n.textContent.replace(/\n/g," ");
} else {
return n.innerText.replace(/\n/g," ");
}
};
これは問題を修正するはずでした...しかし、そうではありませんでした。
だから、私の質問は、行をフィルタリングするときにDataTablesが非テキスト(つまりHTML)コンテンツを無視するようにする方法を知っている人はいますか?