3

列フィルタリング プラグイン v1.5.0 と共に datatables v1.92 を使用しています。

問題

マークアップがされる個々の列フィルタリングのドロップダウンを作成する必要があります

<option value="1">Abc</option>
<option value="2">Def</option>
<option value="3">Ghi</option>

これは、データベースからの値が1, 2, or 3. ユーザーに表示されるラベルは、Abc, Def, or Ghi

列フィルタリング プラグインを使用して、列のドロップダウンを作成できます。

.columnFilter({
    aoColumns: [ type : 'select', values:['1', '2', '3']
               ]
         });

問題は、そのドロップダウンのマークアップが

<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>

したがって、ユーザーは1, 2, 3代わりにドロップダウンラベルとして表示されますAbc, Def, Ghi

私が試したこと

<tfoot>データテーブルのセクションでドロップダウンをハードコーディングしようとしましたが、その後

.columnFilter({
    aoColumns: [ type : 'select', values:['1', '2', '3']
                   ]
             });

ハードコーディングされたドロップダウンを上書きします。nullパラメータとして渡そうとしましaoColumnsたが、ハードコードされたドロップダウンを削除しただけなので、うまくいきませんでした。

value属性が数値を保持し、 と の間のラベル<option></option>テキストになるドロップダウンを作成する方法はありますか?

4

2 に答える 2

3

あなたがまだこれを解決したかどうかはわかりませんが、dataTables プラグイン サイトを見ると、あなたが求めていることを回避する方法がわかりません。

ただし、回避策として、事前に<select>メニューを作成し、fnFilterコールバックを使用して列を特定の値で更新できます。

例えば

<select>
   <option value="1">ABC</option>
   <option value="2">DEF</option>
   <option value="3">GHI</option>
</select>

-

$('select').change(function(){
    yourTable.fnFilter($(this).val(),colNum);
    // With colNum being the targeted column.  
});

上記は、<option>タグの値でテーブルをフィルタリングします1<option>しかし、タグに囲まれた ABC によるフィルタリングを見ている場合。

$('select').change(function(){
   yourTable.fnFilter($('select option:selected').text(),colNum); 
});

これがお役に立てば幸いです。

于 2013-02-24T12:21:56.450 に答える