2016-04-12 19 views
1

私は単純なことをするためにDatatablesフィルタ関数を使用しようとしています(私は思った)。選択したラジオボタンに基づいて、特定の列に対して値のない(つまり空の)行を除外または含める必要があります。そうであるように:Datatables RegEx問題を使用した検索/フィルタリング

$("#full_table").DataTable({ 
initComplete: function() { 
      var table = $('#full_table').DataTable(); 
      $('input[type=radio][name=exclude]').change(function() { 
     if (this.value == 'incblanks') { 
      table 
        .columns(0) 
        .search('') 
        .draw(); 
     } 
     else if (this.value == 'removeblanks') { 
      table 
        .columns(0) 
        .search('^(?!\s*$).+', true, false) //THIS ISN'T WORKING 
        .draw(); 
     } 
    }); 
     } 
    }); 

上記は動作しません。基本的には、「はい」を選択した場合、すべての行が.search('')を使用して含まれている場合、空白の列(0)を除外する場合は、空白以外の文字に対して正規表現を実行しようとしています.search('^(?!\s*$).+', true, false)ですが、これは機能しません。私はテーブルに戻ってデータを取得しますが、エラーはありません。

どうすればこの問題を解決できますか?

答えて

1

あなたのcodeは、が実際に動作することを確認できます。check out the JSFiddleおそらくあなたはのDataTableの古いバージョンを使用している

(私は空のセルを表現するために、空白や「スペースのみ」の両方の値を使用し、それらが正常に除外されていますか)?空のセルは、古いバージョンではilluminated some bugsのようです。あなたは最新のものにアップグレードしましたか?

+0

データテーブルのCDNから提供される最新のバージョンを使用しているため、問題はありません。フィドルをやってくれてありがとう。私は完全に夢中ではないことを示しています。 – jonmrich

+0

私はまた、サーバー側の処理を使用していると私は正規表現の検索の問題であることについて何かを読んだように感じる。何かご意見は? – jonmrich

+0

いいえ、クライアント側の観点から見たコードがうまくいることはわかっているので、あなたは正しい軌道に乗っていると思います。 – sweaver2112