我正在使用DataTables的服务器端实现,yadcf和select2用于增加功能.用于填充表的数据是通过对Django视图的Ajax请求获取的,select2自动完成功能的数据也是如此; 但是从一个单独的Django视图.
我的问题如下.如果搜索查询不返回结果,则select2搜索字段中的值将消失,并且无法在DataTable中重置 - 您必须改为刷新页面.非select2字段中的值仍然可见,可以重置.
有问题列中的过滤器类型multi_select具有选择类型select2.没有问题的列内过滤器类型range_date和range_date使用bootstrap-datetimepicker作为日期选择器类型.
下面是我的select2列参数.
{
"column_number": 3,
"filter_type": "multi_select",
"select_type": "select2",
"select_type_options": {
dropdownCssClass : 'bigdrop',
multiple: true,
minimumInputLength: 1,
ajax: {
url: '{% url 'ffTestApp:searchData' 'product' %}',
delay: 250,
dataType: 'json',
data: function (params) {
return {
q: params.term,
v: yadcf.exGetColumnFilterVal(table,4),
s: yadcf.exGetColumnFilterVal(table,5)
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.items
};
},
},
escapeMarkup: function (markup) { …Run Code Online (Sandbox Code Playgroud) 我有一个表(使用datatables framwork),它包含在一个列标签中.我的意思是这些列的内容如下所示:
<td>
<select class="form-control attendance_select" data-id_player="130">
<option value="-1">No</option>
<option value="0" selected="">No answer</option>
<option value="1">Yes</option>
</select>
</td>
Run Code Online (Sandbox Code Playgroud)
当我使用yadcf列过滤器并尝试仅搜索具有"是"的列作为此选择中的选定选项时,它不起作用,因为每行在html代码中包含"是".
你能帮助我吗,如果有可能的话,如何设置yadcf来解决这个问题?
谢谢
我正在尝试使用带有数据表的"yadcf"过滤插件,并将"未捕获的TypeError:undefined不是函数"作为调用yadcf函数的错误.
我已经验证插件已加载,我不确定是什么问题.
以下是要加载的库:
<script type="text/javascript" charset="utf-8" src="/DataTables/media/js/jquery-1.10.2.js"></script>
<script type="text/javascript" charset="utf-8" src="/DataTables/jquery-ui-1.10.3/ui/jquery-ui.js"></script>
<script type="text/javascript" charset="utf-8" src="/DataTables-1.10.0/media/js/nightly2.js"></script>
<script type="text/javascript" charset="utf-8" src="/yadcf-0.7.4/jquery.dataTables.yadcf.js"></script>
Run Code Online (Sandbox Code Playgroud)
css文件:
<style type="text/css" title="currentStyle">
@import "/DataTables/media/css/demo_table.css";
@import "/yadcf-0.7.4/jquery.dataTables.yadcf.css";
@import "/DataTables/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css";
</style>
Run Code Online (Sandbox Code Playgroud)
数据表:
oTable = $('#FE_Time_Table').DataTable( {
"ajax":{"url": 'FE_Data.php', "dataSrc":'data'},
"jQueryUI": true, //Allow use of jquery-ui plug-in for themes
"dom": 'W<"H"frCi>tS<"">', //Settings for where all the options appear on the page
"columns": [
{ "name": "plate_no", "data": "plate_no", "className": "center_text" },
{ "name": "job_no", "data": "job_no", "className": "center_text" },
{ "name": "customer", …Run Code Online (Sandbox Code Playgroud) 我还没有找到一个工作示例,其中表数据是通过javascript加载的,并且在尝试初始化过滤器时,获取oTable.settings不是函数错误.DT正确加载.任何建议,将不胜感激.
谢谢,里克
这是我的代码:
<script src="../bower_components/jquery/jquery.js" type="text/javascript"></script>
<script src="../lib/DataTables-1.10.5/media/js/jquery.dataTables.js" type="text/javascript"></script>
<script src="../lib/yadcf-0.8.8/jquery.dataTables.yadcf.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
...
<script type="text/javascript" charset="utf-8">
var ndx=0;
$(document).ready( function () {
var myTable = $('#example').dataTable({
"data": data.tables[ndx].data,
"columns": data.tables[ndx].columns,
"uHeaders": [],
"uMeta": []
});
yadcf.init(myTable, [
{column_number : 0},
{column_number : 1, filter_type: "text"}
]);
});
Run Code Online (Sandbox Code Playgroud)