JQuery DataTable 详解
2022-02-12 07:54:06
之前博主介绍过一种submit局部刷新的办法,但是单单对于table刷新而去绑定form提交显得太过冗重麻烦,今天介绍下jquery dataTable自带的插件fnReloadAjax实现ajax异步请求刷新表格数据的方法。
前提准备:导入fnReloadAjax.js,附上下载链接
https://pan.baidu.com/s/1qYRMX9i
第一:实现的效果就是根据查询条件点击查询按钮刷新表格数
1、查询按钮
查询
2、初始化表格
$("#stationTable").DataTable({
//表格基本配置,根据自己需求设置
"paging" : true,
"lengthChange" : true,
"searching" : false,
"ordering" : false,
"info" : true,
"autoWidth" : false,
"bStateSave" : true,
"bFilter" : true,
"oLanguage" : {
"sUrl" : "plugins/datatables/lang_zh.txt",
},
//刷新数据的重点,请求数据源
ajax : {
//地址
url : "queryStationWithCityCode",
type : "POST",
dataType : "json",
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
error : function(data,e){
alert("系统繁忙,请稍后重试!");
},
//此处不需要写ajax的success回调
},
//请求回数据,对表格列进行赋值(此处每一列都需赋值)
"columns": [
{ "data": "cityName","targets": -1},
{ "data": "townName","targets": -2 },
{ "data": "name","targets": -3 },
{ "data": "address" ,"targets": -4},
{ "data": "contacts","targets":-5 },
{ "data": "phone","targets":-6 },
{ "data": "holidayFlag","targets":-7 },
{ "data": "periodFlag","targets":-8 },
{ "data": "id","targets":-9 },
{ "data": "id","targets":-9 },
],
//自定义列数据
"columnDefs": [
{
"render": function ( data, type,
row ) {
//data为当前列的数据
//type为当前列数据类型
//row为当前行数据
var rowData=JSON.stringify(row);
var str = "+rowData+")'>联系人";
return str;
//此处return可自己定义,博主此处举例为超链接,传参须注意,若传字符串需加上转义字符,否则会报错ReferenceError: XXX is not defined at HTMLAnchorElement.onclick
},
//此处target负数表示从右向左的顺序
//-1为右侧第一列
"targets": -1
},
{
"render": function ( data, type, row ) {
var str =JSON.stringify(row);
return "+str+")'>删除";
},
"targets": -2
},
],
"createdRow": function ( row, data, index ) {
//创建行之后的操作
},
});
3、查询触发点击事件,刷新表格数据
//查询
function queryStation(){
var cityCode = $("#sel_town").val();
var parentCode = $("#sel_city").val();
var table = $("#stationTable").dataTable();
//清除表格数据
table.fnClearTable();
//重新请求数据(不写参数代表请求初始化时的默认接口数据)
table.fnReloadAjax("queryStationWithCityCode?cityCode="+cityCode+"&parentCode="+parentCode);
}
関連
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
プロジェクトの依存関係を解決できなかった 解決
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
HttpClientがGZIP形式でない場合の対処法
-
java 例外。Javaツールの初期化
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
このラインで複数のマーカーを解決する方法
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
VectorのJavaコレクションを徹底解析
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限について アプリケーションの種類がAPIでない(必要なライブラリの制限)。
-
final, finally, finalizeの違いについて話してください。
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
SocketTimeoutExceptionの解決方法です。読み込みがタイムアウトした
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
Javaドッキングリーダの落とし穴について終了コード -1073740940 (0xC0000374)でプロセス終了
-
dao インターフェースがメソッドを定義し、エラーを報告した。 xxx 型のメソッド xxx は未定義である。