Select Inputs
とText Inputs
を組み合わせることはできますか?私はいくつかのテーブルで常に同じ初期化をDataTablesを使用します。選択リストを表示する列が常に同じ位置にあるわけではないので、列ヘッダーでSelect Inputs
の列を選択したいと思います。それから、私はText Inputs
を持っていたいです。この方法では、Select Inputs
の列とText Inputs
の列があります。DataTable個別列検索
私はこれらの2つの例の異なるSelectとText入力を実装することができました。しかし、私はjqueryとjavacriptで十分ではないので、Select Input
の右の列を選択する方法を理解し、その他はすべてText Inputs
にしてください。私が使用するテーブルは、3列から75列までの任意の列にできます。また、Select入力のヘッダー名で列を選択したいとします。
そして、このすべての上に、MultiSelect InputをSelect Input
にする方法はありますか?私はそれに状態のセレクタを持っていて、すぐに複数の状態を選択できるようにしたいと思います。
initComplete: function()
{
var api = this.api();
// Apply the search
api.columns('.dt-filter-text').every(function()
{
var that = this;
$('input', this.footer()).on('keyup change', function()
{
if (that.search() !== this.value)
{
that
.search(this.value)
.draw();
}
});
});
api.columns('.dt-filter-select').every(function()
{
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function()
{
var val = $.fn.dataTable.util.excapeRegex(
$(this).val()
);
var strVal = val.replace("<div class='Scrollable'>", "");
strVal = strVal.replace("</div>", '');
column
.search(strVal ? /*'^' +*/strVal /*+ '$'*/ : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, J)
{
var strValue = d.replace("<div class='Scrollable'>", '');
strValue = strValue.replace("</div>", '');
select.append('<option value="' + strValue + '">' + strValue + '</option>')
});
});
}
:私は今、これを持って、下から
initComplete: function()
{
this.api().columns([1]).every(function()
{
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function()
{
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
var strVal = val.replace("<div class='Scrollable'>", '');
strVal = strVal.replace("<\/div>", '');
column
.search(strVal ? /*'^' +*/ strVal /*+ '$'*/ : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j)
{
var strValue = d.replace("<div class='Scrollable'>", '');
strValue = strValue.replace("<\/div>", '');
select.append('<option value="' + strValue + '">' + strValue + '</option>')
});
});
}
,
initComplete: function()
{
var api = this.api();
// Apply the search
api.columns().every(function()
{
var that = this;
$('input', this.footer()).on('keyup change', function()
{
if (that.search() !== this.value)
{
that
.search(this.value)
.draw();
}
});
});
}
EIDT
Gyrocodeの提案@使用:ここで
は、私がSelect
と
Text
入力のために使用してきた二つの異なる方法があります
これはほとんど動作します。 [状態]列のセレクタから値を選択すると、検索されません。私は明らかな何かが不足していると確信していますが、私は何がわかりません。
また、すべての状態を取得しているわけではなく、最初のページにある状態のみを取得しています。すべての州を取得する方法があるのでしょうか、州が変わっていないので必要なすべての値を保持する配列を持っているのでしょうか?
これは素晴らしいことです!セレクタは最初の値しか取得せず、そのフィールドにあるすべての値を取得するわけではありません。利用できる州を知っているので、そこに入れることができるリストを作ることができますか? – Mike
そして、テキストボックスのセレクタだけで検索が機能していませんか? – Mike