我对具有相同类但具有不同id属性的多个表进行了以下初始化: var $table = $(‘table.jobs’); $table.DataTable({ …. ajax: { url: ‘/my-url’, dataSrc: function (json) { return json.data }, data: function(data) { data.table_id = $table.attr(‘id’); // gives the same id for all tables } }, … }); 有没有办法可以识别哪个表发送ajax请求? 我试图避免重复每个表的整个初始化。
上下文 我正在使用带有AutoFill扩展名的dataTables插件。 它基本上允许您通过向上或向下拉动十字架(它的右下角)来复制单元格。 这在我的项目中工作正常。 问题 但是,当我尝试复制单元格内的输入时,它会清除所选输入。 阅读文档,似乎旧版本的插件只需添加一个小脚本即可复制单元格内的输入。 从当前的doc ,通过查看write选项,默认情况下我应该寻找我正在寻找的行为: 此回调是fnRead的必然结果,提供了一种方法来自定义AutoFill如何将计算的填充值写入给定单元格。 默认情况下,如果找到,则自动填充将在单元格中的输入或选择元素中设置值,否则将设置值为HTML。 问题是,当输入具有初始值时,复制起作用。 但是在添加/编辑值时,它会复制前一个值。 它试图添加读写函数选项,但从不调用它们(参见小提琴)。 码 这是一个jsFidle,正好再现了我的问题: 将row.1 col.1向下拖动到row.2 col.1 – >工作 编辑row.1 col.1的值并重复步骤1 – >返回上一个值 在row.1 col.2中输入值并向下拖动 – >重置值而不复制 似乎值属性永远不会更新。
下面提到了数据表网站上提到的所有列的选择选项的function。 如何使其仅在第一列的下拉值上过滤表数据,并将选择下拉列表放在其他位置,而不是通常的标题部分。 例如,请参阅链接 initComplete: function () { var api = this.api(); api.column().indexes().flatten().each( function (i) { var column = api.column(i); var select = $(”).appendTo(‘$selectTriggerFilter’).on( ‘change’, function () { var val = $.fn.dataTable.util.escapeRegex($(this).val()); column.search( val ? ‘^’+val+’$’ : ”, true, false ).draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( ”+d+” ) } ); } […]
嗨,我是DataTables的新手….我有一个数据表,我想在其中添加行(一次一个),并具有多行删除function。 我设法让正常的function工作,但问题是,当我删除一行/行然后尝试添加一个新行时,删除的行显示回与所选行相同的位置….下面是代码我我正在使用初始化DataTable和在我的DataTable中添加和删除行的function….任何帮助将不胜感激… $(document).ready(function (){ var counter = 1 $(‘#addRow’).on( ‘click’, function (a,b,c,d,e,f) { a = “test” t.row.add( [ counter +a, counter +’test’, counter +’test’, counter +’test’, counter +’test’, counter +’test’ ] ).draw(false); counter ++; } ); $(‘#example tbody’).on( ‘click’, ‘tr’, function (e) { if ( $(this).hasClass(‘selected’) ) { $(this).removeClass(‘selected’); $(this).css(‘background-color’, ”) } else { t.$(‘tr.selected’);//.removeClass(‘selected’); […]
我需要设置动态列的可搜索属性(在表init之后)。 有解决方案吗? 用例是,我正在使用按钮扩展来切换列可见性。 但我不会只搜索可见的列。
我在一个页面中有两个内联表,排序是在一个数据表上工作但不在另一个数据表上,一次调用两个div,但排序只在一个数据表上工作。 $(‘#div1’).DataTable( { “processing” : true, “destroy” : true, “paginate” : true, “lengthChange” : true, “filter” : true, “ordering” : true, “order” : [ [ 1, “asc” ] ], “info” : false, “reloadDT” : false, “autoWidth” : false, “scrollY” : 340, “language” : { “search” : “Search: “, “processing” : “” }, “oCustomization” : { […]
我已经下载了DataTables的完整软件包及其所有模块,因为它无法通过CDN URL访问: https://www.datatables.net/download/ (所有选项均已选中) 我正在尝试使用RequireJS运行它,整个DataTables包中使用相同的依赖系统,所以它不应该失败。 JSFiddle(为JSFiddle编辑): http : //jsfiddle.net/42ucpwee/1/ 我的配置导致此错误: datatables.js:93165 Uncaught TypeError: Cannot read property ‘defaults’ of undefined datatables.js:93161-93171: var DataTable = $.fn.dataTable; /* Set the defaults for DataTables initialisation */ $.extend( true, DataTable.defaults, { dom: “<'row'>” + “<'row'>” + “<'row'>”, renderer: ‘bootstrap’ } ); 造成这个错误的原因是什么,我错过了什么或者我的配置错了吗? 的script.js: define([‘jquery’,’datatables.net’], function($) { $(‘#example’).DataTable(); }); main.js: requirejs.config({ […]
我有一个启用了分页的DataTable,我需要禁用此设置并通过按下按钮显示所有结果而不显示分页器。 我正在尝试访问已定义的设置,将分页更改为false,并重绘表,但它不起作用。 我搜索并尝试了类似的论坛post但没有成功。 知道我怎么能实现这个目标? 这是一个带有我无法工作的代码的演示 HTML: Destroy pager Column 1 Column 2 Column 3 Column 4 Data 1 Data 2 Data 3 Data 4 Data 1 Data 2 Data 3 Data 4 Data 1 Data 2 Data 3 Data 4 Data 1 Data 2 Data 3 Data 4 Data 1 Data 2 Data 3 Data […]
我有一个简单的jQuery数据表,包含4列,其中一列是下拉列表。 Vendor Location Currency Vendor Type Vendor Vendor Location Currency Vendor Type Vendor New York American Steel Vendor Name 1 Vendor Name 2 Vendor Name 3 Vendor Name 4 Vendor Name 5 Montreal Canadian Plastic Vendor Name 1 Vendor Name 2 Vendor Name 3 Vendor Name 4 Vendor Name 5 Toronto Canadian Logistics Vendor Name […]
我有一个带分页,过滤和ColVis插件的DataTable(列可见性)。 通过按下按钮,我需要获取所有页面的可见和过滤数据 ,并使用此数据生成下面的新常规表(此数据没有数据表,寻呼机,…)。 我尝试使用oTable.rows({search:’applied’}).data()来获取行,但是它不是仅获取可见列的数据,而是获取隐藏的列。 无论如何我不知道如何生成新表。 这是一个演示 我怎么能这样做? 提前致谢