使用jquery DataTable和ajax向页面显示数据列表的方法

首先在html页面定义好相关长度的行和列,假设table的id=data-table“”

使用jquery DataTable在js中这么写

$(function() {
	$('#data-table').DataTable(
			{
				order : [ [ 1, 'desc' ] ],
				ajax : {
					url : "/products",
					type : 'GET',
					dataSrc : ""
				},
				columns : [ {
					data : "id"
				}, {
					data : "id"
				}, {
					data : "title",
					defaultContent : ""
				}, {
					data : "sell_point",
					defaultContent : ""
				}, {
					data : "price",
					defaultContent : ""
				},{
					data : "number",
					defaultContent : ""
				},{
					data : "image",
					defaultContent : ""
				},{
					data : "cid",
					defaultContent : ""
				},{
					data : "id"
				}],
				columnDefs : [{
					targets : [ 0 ],
					orderable : false,
					render : function(id, type, row, meta) {
						return '<input id="input-' + id
								+ '" type="checkbox" name="ids" value=' + id
								+ '><label for="input-' + id + '"></label>';
					}
				},{
					targets: [8],
					render: function(data, type, row, meta) {
						return '<a title="编辑" href="javascript:;" rel="external nofollow" rel="external nofollow" onclick="product_edit('+ data +')" style="text-decoration:none"><i class="Hui-iconfont">y</i></a><a title="删除" href="javascript:;" rel="external nofollow" rel="external nofollow" onclick="product_del(' + data +')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">|</i></a>'
					}
				}]
			});
});

其中ajax中定义了访问后台数据的url和访问方式

colums定义的是返回来的数据类型,对应着页面当中的各列,数量必须一致。

columnDefs中targets是为某一列绑定一个回调函数,比如第一列是id值,但是不想显示id值,那么targets就是[0]代表第一项,为它返回了一串html代码并将id值加入其中,便于后续的操作。

相关推荐