jquery datatable 通过oSetting更改sAjaxsource,如何重新获取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery datatable 通过oSetting更改sAjaxsource,如何重新获取数据相关的知识,希望对你有一定的参考价值。
var datatables;
$(document).ready(function()
datatables = $('#domain_ip_table').dataTable(
'bPaginate': true,
"bProcessing": true,
'bLengthChange': true,
"bFilter": true, //过滤功能
"bSort": true, //排序功能
//"bJQueryUI": true, //页面风格使用jQuery.
"bAutoWidth": true,
'sPaginationType': 'full_numbers',
"sAjaxSource": '/ajax/get/domain/ip/?domain=',
"oLanguage":
"sProcessing": "正在加载数据...",
'sSearch': '数据筛选:',
"sLengthMenu": "每页显示 _MENU_ 项记录",
"sZeroRecords": "没有符合项件的数据...",
"sInfo": "当前数据为从第 _START_ 到第 _END_ 项数据;总共有 _TOTAL_ 项记录",
"sInfoEmpty": "显示 0 至 0 共 0 项",
"oPaginate":
"sFirst":"第一页",
"sPrevious": "上一页",
"sNext": "下一页",
"sLast": "最后一页"
,
"sInfoFiltered": "(_MAX_)"
,
"aoColumns": [
"mData": "ip" ,
"mData": "city" ,
"mData": "detail" ,
],
"bDestroy": true
);
)
function searchresult()
var domain = $("#domain").val();
var trueurl = '/ajax/get/domain/ip/?domain='+domain;
var oSettings = datatables.fnSettings();
// alert(oSettings.sAjaxSource);
oSettings.sAjaxSource = trueurl;
// alert(oSettings.sAjaxSource);
// datatables.fnClearTable(false);
// datatables.fnDestroy();
// datatables.fnDraw(oSettings);
datatables.fnGetData();
我想通过一个button触发searchresult(),在sAjaxsource后面体内家一个参数,然后重新请求。
但是添加参数,并且更改了,重新请求时,仍然没有参数
急用!!!!!!!!!!!使用的是python,django框架
datatable dt=new datatable();
dt.columns.add(new datacolumn("列名"))
添加数据方法()
{
datarow dr=dt.newRows();
dr["xxx"]=xxx;
...
dt.Rows.Add(dr);
} 参考技术B 可以使用refreshDataTable方法,不要用fnGetData,你试一下
jquery.dataTable和jquery.DataTable初始化
两者均能对dataTable进行初始化,DataTable() 没有.fnDraw(false)函数,dataTable()没有.row(tr)函数。
function fnClickReload() { if (typeof (tblList) != "undefined") { tblList.fnDraw(false); editRow(); } }
如果dataTable()要使用.row(tr)函数,使用.api()
var tr = $(this).closest(‘tr‘); var row = tblList.api().row(tr);
例如:
var tblList; function getList() { if (typeof (tblList) != "undefined") { tblList.fnClearTable(false); tblList.fnDestroy(); } tblList = $("#tblList").dataTable({ columns: [ { orderable: false, defaultContent: "", className: ‘details-control‘, data: ‘MessageId‘ }], fnCreatedRow: function (nRow, aData, iDataIndex) { $(‘td:eq(0)‘, nRow).html("<b>+</b>"); } }); editRow(); } function editRow() { $(‘#tblList tbody‘).on(‘click‘, ‘td.details-control‘, function () { var tr = $(this).closest(‘tr‘); var row = tblList.api().row(tr); if (row.child.isShown()) { // This row is already open - close it row.child.hide(); tr.removeClass(‘shown‘); tr.children("td").eq(0).html("<b>+</b>"); } else { // Open this row row.child(format(row.data())).show(); tr.addClass(‘shown‘); tr.children("td").eq(0).html("<b>-</b>"); } }); } function format(row) { return "<div style="padding-left:50px;"><b>标题:</b>" + row.Subject +" <b>内容:</b>"+ row.Body+"</div>"; }
<table class="table table-striped table-bordered table-hover " id="tblList"> <thead> <tr> <th></th> <th>发送机构</th> <th>提醒类别</th> <th>提醒时间</th> <th>提醒范围</th> <th>提醒机构</th> @*<th>提醒标题</th> <th>提醒内容</th>*@ <th>状态</th> <th>创建者</th> </tr> </thead> <tfoot> <tr> <th></th> <th>发送机构</th> <th>提醒类别</th> <th>提醒时间</th> <th>提醒范围</th> <th>提醒机构</th> @*<th>提醒标题</th> <th>提醒内容</th>*@ <th>状态</th> <th>创建者</th> </tr> </tfoot> </table>
以上是关于jquery datatable 通过oSetting更改sAjaxsource,如何重新获取数据的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Datatable,通过 UI 调整 col 宽度
jquery datatable 通过oSetting更改sAjaxsource,如何重新获取数据
如何通过 Ajax 在 jQuery DataTables 中显示 JSON 数据?