我正在使用jQuery DataTables插件.
有没有办法可以摆脱它们在标题中显示的小箭头来表示排序选项?我想通过点击它按此列排序的标题来保留功能,我只是不想显示箭头图标,因为它们会更改我的列标题的布局.
Firebug显示我的标题如下:
<th class="sorting" role="columnheader" tabindex="0" aria-controls="myTable" rowspan="1" colspan="1" style="width: 151px;" aria-label="Category: activate to sort column ascending">Category</th>
Run Code Online (Sandbox Code Playgroud) 我收到控制台错误"Uncaught TypeError:无法设置未定义的属性'nTf'".我正在使用jquery Datatable.
我有一个表格中有按钮的列我正在使用jQuery datatable插件.按钮说"删除",其想法是,当您单击该按钮时,它会删除表中的当前行.
当我调用fnDeleteRow
它似乎第一次工作但没有任何更多的时间为该行,所以看起来它并没有真正删除行正确.
我正在使用jQuery DataTable插件,但我担心脚本加载似乎需要一些时间,因此我的网页始终首先显示普通的html表,并且在完成所有脚本之后,该表将成为DataTable.我不认为这种外观是可以接受的,所以我希望能在这里得到一些建议.我是否可以使脚本更快,或者不显示前面的普通表?顺便说一下,我在_Layout.cshtml头标签的_Scripts局部视图中调用我的脚本
@Html.Partial("_Scripts")
Run Code Online (Sandbox Code Playgroud)
(更新)我试图隐藏表,并在数据表初始化后显示它,但是,我得到一个没有表头的数据表.知道为什么会这样吗?
$('#stocktable').hide();
// Initialize data table
var myTable = $('#stocktable').dataTable({
// Try styling
"sScrollX": "100%",
"sScrollXInner": "100%",
"bScrollCollapse": true,
// To use themeroller theme
"bJQueryUI": true,
// To use TableTool plugin
"sDom": 'T<"clear">lfrtip',
// Allow single row to be selected
"oTableTools": {
"sRowSelect": "single"
},
"fnInitComplete": function () {
$('#stocktable').show();
}
Run Code Online (Sandbox Code Playgroud) 我目前有一个数据表,每个记录都有一个按钮,点击该按钮时显示该帐户的其他信息.发生这种情况时,我调用fnFilter()来过滤该特定行,以便不显示其他行,并且用户知道我显示的子信息是针对该特定帐户的.我想做的是,当用户在搜索工具栏中单击它时,它会隐藏我显示的子信息,然后清除过滤器并显示所有可用的原始记录.一切正常,除了过滤器没有被清除,所以只显示最初选择的行.
不确定我错过了什么.我已经尝试了从使用fnFilter('')到fnDraw()到fnReloadAjax()的所有内容.这些(或任何组合)似乎都不起作用!
更新我似乎已经解决了这个问题.如果我从fnFilter(accountid,7)中删除#列,则使用fnFilter('')会重新显示所有记录.但是,我确实需要按特定列进行筛选,因为它是唯一包含每个记录的唯一值的列.有任何想法吗?我确实尝试使用fnFilter('',null)但没有成功.
这是我的代码:
var oTable = $('.mypbhs_accounts').dataTable({
"bProcessing": true,
"sAjaxSource": 'sql/mypbhs_accounts.php',
"aaSorting": [[1, "asc" ]],
"bJQueryUI": true,
"sPaginationType": "full_numbers",
//"bStateSave": true, //Use a cookie to save current display of items
"aoColumns": [
{"asSorting": [ ], "sClass":"center"},
null,
null,
null,
null,
null,
null,
{ "bSearchable": true, "bVisible": false },
{ "bSearchable": true, "bVisible": false }
],
"bScrollCollapse": true,
"sScrollX": "100%",
"fnInitComplete": function() {
oTable.fnAdjustColumnSizing();
}
});
/*** CLEAR CURRENT ACCOUNT INFO ***/
$(document).on('click','.mypbhs_content .dataTables_filter',function(){ //THIS IS CALLED WHEN USER …
Run Code Online (Sandbox Code Playgroud) 脚本
我使用的数据表的第一次显示数据显示给用户(@version 1.9.4).我成功通过ajax检索数据并将它们绑定到数据表.
现在我想添加额外的列以让用户处理记录.为简单起见,目的是添加一个带有onclick处理程序的按钮,该处理程序检索"clicked"记录的数据.
在我的计划中,我将对应于"clicked"记录的json项绑定到onclick处理程序.
到现在为止,如果我TH
为DOM 添加了一个for action列的附加内容,则会从datatables代码中发生错误:
Requested unknown parameter '5' from data source for row 0
Run Code Online (Sandbox Code Playgroud)
题
如何设置自定义列?如何用HTML填充他们的内容?
这是我的实际配置.
HTML
<table id="tableCities">
<thead>
<tr>
<th>country</th>
<th>zip</th>
<th>city</th>
<th>district code</th>
<th>district description</th>
<th>actions</th>
</tr>
</thead>
<tbody></tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
$('#tableCities').dataTable({
"bPaginate": true,
"bLengthChange": false,
"bFilter": true,
"bSort": true,
"bInfo": false,
"bAutoWidth": true
, "bJQueryUI": true
, "bProcessing": true
, "bServerSide": true
, "sAjaxSource": "../biz/GetCitiesByZip.asp?t=" + t
});
Run Code Online (Sandbox Code Playgroud)
示例Json结果
{
"aaData":
[
[
"IT",
"10030",
"VILLAREGGIA",
"TO", …
Run Code Online (Sandbox Code Playgroud) 我在会话变量中存储用户想要翻译的语言,但我不知道将其传递给DataTables
我在datatables网站上找到了这个解释,但这并没有真正帮助,我在哪里设置语言参数?
是否可以在datatable ajax调用中成功调用javascript函数.这是我尝试使用的代码,
var oTable = $('#app-config').dataTable(
{
"bAutoWidth": false,
"bDestroy":true,
"bProcessing" : true,
"bServerSide" : true,
"sPaginationType" : "full_numbers",
"sAjaxSource" : url,
"fnServerData" : function(sSource, aoData, fnCallback) {
alert("sSource"+ sSource);
alert("aoData"+ aoData);
$.ajax({
"dataType" : 'json',
"type" : "GET",
"url" : sSource,
"data" : aoData,
"success" : fnCallback
});
}
Run Code Online (Sandbox Code Playgroud)
是否可能有类似的东西,
success : function(){
//.....code goes here
}
Run Code Online (Sandbox Code Playgroud)
而不是"成功":fnCallback ------>这是AJAX调用的最后一行.在这个函数中,我想检查从服务器端发送的值.在此先感谢任何帮助....
我有一个使用服务器端分页初始化的dataTable,它工作正常.此表在初始化期间触发ajax,拉取数据并呈现到表中.但是我最初需要空表并使用load()或reload()点击按钮加载表数据,如:
myTable.api().ajax.reload();
Run Code Online (Sandbox Code Playgroud)
这是我的表初始化:
function initTestTable(){
myTable = $('#testTable').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "testTableData.html",
"type": "GET",
},
"columns": [
{ "data": "code" },
{ "data": "description" }
]
});
}
Run Code Online (Sandbox Code Playgroud)
在初始化期间应该有一种限制表加载的方法吗?我阅读了文档,但找不到.请建议.
尝试仅显示与搜索栏中输入的搜索词完全匹配.
例如,我有一个按ID#过滤的搜索栏.我只想要与输入的确切#匹配的记录.
因此,如果123
输入的,我不想12345
,91239
要显示的,等等等等.只有123
.
bRegex
在FAQ页面上看到了一些信息,但它对我不起作用.有任何想法吗?
datatables ×10
jquery ×9
ajax ×2
filter ×2
javascript ×2
css ×1
delete-row ×1
jquery-ui ×1
performance ×1
regex ×1
rows ×1
search ×1
sorting ×1