如何解决jQuery DataTable不支持具有多选下拉列表特别是用于“排序和过滤”
我们确实有一个普通的html表。它包括多选,多选项卡,常规选择列表,日期选择器等作为表内容。
现在,我们想将表更改为Jquery Datatable,以进行有效的过滤和排序。我通过使用下面的库和一段代码使它成为数据表
我的表ID是: tblRosterSpeciality
图书馆:
<script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
var table = $('#tblRosterSpeciality').DataTable({
pageLength: 150,paging: false,orderCellsTop: true,fixedHeader: true,bUseRendered: false
});
现在,仅使用我们直接在<td></td>
标签内编写的文本,过滤和排序就可以正常工作。但是表中的多选值不支持排序和过滤(多选可编辑以管理UI中的值)。
下面,我给出了多选下拉列表的代码。
<select onfocus='this.size=10;' onblur='this.size=0;' id="ids@cnt" class="clsDDL" onchange='this.size=1; this.blur();' multiple="multiple">
@foreach (var item in Model.DList)
{
<option id="@item.Name" value="@item.Name">
@item.Name
</option>
}
</select>
jQuery
$(".clsDDL").multiselect({
includeselectAllOption: false,nonSelectedText: 'Select'
});
下面的多项选择的屏幕截图:
我尝试了一种解决方案(通过使用 columnDef ),例如当目标是具有多选下拉列表的列时指出确切的元素,如下所示:
var table = $('#tblRosterSpeciality').DataTable({
columnDefs: [
{
targets: [6],type: 'string',render: function (data,type,full,Meta) {
if (type === 'filter' || type === 'sort') {
var api = new $.fn.dataTable.Api(Meta.settings);
var td = api.cell({ row: Meta.row,column: Meta.col }).node();
data = $(".clsDDL",td).map((_,e) => e.value).get();
}
return data;
}
},.....
但是这一次,单击多选不有助于选择新值。该 columnDef 被迫停止了多选下拉列表的自然工作。
请帮助我在具有可编辑的多选下拉列表作为一列内容的jquery数据表中启用排序和过滤。
我在线检查是否找到一个数据表,该数据表内部具有多选下拉列表作为表内容。但是我没找到。
是否有人可以帮助我了解jquery数据表是否支持多选下拉列表(或其他控件(如Datepicker,正常下拉列表等))作为数据内容?版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。