87,989
社区成员
发帖
与我相关
我的任务
分享
<div class="panel-body">
<table class="table table-bordered table-hover text-nowrap dataTable table-striped width-full margin-vertical-10"
id="menuTable" data-scroll-x="true" data-responsive="false"
data-column-defs='[{ "orderable": false, "targets": 2}]'>
<thead>
<tr>
<th width="30">
<span class="checkbox-custom checkbox-primary purchase-select-all">
<input id="checkAll" type="checkbox" class="purchase-checkbox selectable-all">
<label></label>
</span>
</th>
<th>序号</th>
<th>菜单ID</th>
<th>菜单名</th>
<th>菜单链接</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>oTable = $('#menuTable').DataTable($.po('dataTable', {
autoWidth: false, //禁用自动调整列宽
processing: true, //隐藏加载提示,自行处理
serverSide: true, //启用服务器端分页
searching: false, //禁用原生搜索
sort: false,
pagingType: "simple_numbers", //分页样式:
//列表表头字段
columns: [
{
"render": function () {
var checkbox = '<span class="checkbox-custom checkbox-primary">' +
'<input type="checkbox" class="contacts-checkbox selectable-item" >' +
'<label></label></span>';
return checkbox;
}
},
{
"data": null,
"render": function (data, type, row, meta) {
var startIndex = meta.settings._iDisplayStart;
return startIndex + meta.row + 1;
}
},
{"data": "menuId"},
{"data": "name"},
{"data": "url"},
{
"render": function (data, type, row, meta) {
var edit = '<button type="button" class="btn btn-sm btn-icon btn-pure btn-default"' + ' data-toggle="edit" title="编辑菜单" ><i class="icon wb-edit" aria-hidden="true"></i></button>';
edit += '<button type="button" class="btn btn-sm btn-icon btn-pure btn-default"' + ' data-toggle="delete" title="删除菜单" ><i class="icon wb-close" aria-hidden="true"></i></button>';
return edit;
}
}
],
ajax: function (data, callback) {
//封装请求参数
var param;
param = 'start=' + data.start + '&limit=' + data.length;
var menuIdVal = $('#menuId').val(), nameVal = $('#name').val();
if (menuIdVal != null && menuIdVal != "") {
param += '&menuId=' + menuIdVal;
}
if (nameVal != null && nameVal != "") {
param += '&name=' + nameVal;
}
//ajax请求数据
$.ajax({
type: "POST",
url: $.ctx + '/functionAuthority/query',
cache: false, //禁用缓存
data: param, //传入组装的参数
dataType: "json",
success: function (result) {
var tableData = null;
if (result.success) {
tableData = {
recordsTotal: result.total,
recordsFiltered: result.total,
data: result.data
};
callback(tableData);
} else {
toastr.error('出错了,请重试!');
}
},
error: function () {
toastr.error('服务器异常,请稍后再试!');
}
})
}
})); {"data": "menuId" ,"title":"表头"}//很明显你数据里面根本没有你要显示的menuId,name只有layer,text那么你也应该是写{"data": "layer"}, {"text": "name"}
{"data": "menuId"}, {"data": "name"},{"data": "url"},
不需要返回吗?其实在这里加一个title:"表头列明"就可以不用写th表头了
<div class="page page-full animation-fade page-unit">
<div class="page-content">
<form class="form-inline" id="queryNameForm">
<div class="form-group">
<input type="text" id="menuId" name="menuId" placeholder="菜单ID" class="form-control">
</div>
<div class="form-group">
<input type="text" id="name" name="name" placeholder="菜单名" class="form-control">
</div>
<div class="form-group">
<button type="submit" class="btn btn-success"><i class="icon fa-search"></i>查找</button>
</div>
</form>
<div class="panel">
<header class="panel-heading">
<h3 class="panel-title">数据列表</h3>
<div class="panel-actions">
<a class="panel-action icon wb-plus" id="addName" aria-hidden="true" role="button">新增</a>
<a class="panel-action icon wb-close" id="deleteName" aria-hidden="true" role="button">删除</a>
</div>
</header>
<div class="panel-body">
<table class="table table-bordered table-hover text-nowrap dataTable table-striped width-full margin-vertical-10"
id="menuTable" data-scroll-x="true" data-responsive="false" data-column-defs='[{ "orderable": false, "targets": 2}]'>
<thead>
<tr>
<th width="30">
<span class="checkbox-custom checkbox-primary purchase-select-all">
<input id="checkAll" type="checkbox" class="purchase-checkbox selectable-all">
<label></label>
</span>
</th>
<th>序号</th>
<th>菜单ID</th>
<th>菜单名</th>
<th>菜单链接</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<!--添加修改功能权限 -->
<div class="modal fade" id="menuForm" aria-hidden="true" aria-labelledby="add" role="dialog" tabindex="-1">
<div class="modal-dialog modal-center">
<form class="modal-content" id="menuInfo">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="关闭">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">功能权限</h4>
</div>
<div class="modal-body">
<div class="form-group">
<input type="hidden" name="add" value="true">
<input type="text" class="form-control" name="menuId" placeholder="菜单ID">
</div>
<div class="form-group">
<input type="text" class="form-control" name="name" placeholder="菜单名">
</div>
<%-- <div class="form-group">
<div class="form-group">
<select class="form-control show-tick" name="isDecimals" placeholder="是否允许小数"
data-plugin="selectpicker" data-live-search="true"></select>
</div>
</div>--%>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">确定</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="reset" class="btn btn-reset" name="reset">重置</button>
</div>
</form>
</div>
</div>那个判断是用来判断搜索的,能搜到数据的

if (menuIdVal != null && menuIdVal != "") {
param += '&menuId=' + menuIdVal;
}
if (nameVal != null && nameVal != "") {
param += '&name=' + nameVal;
}
//这里只是校验了非空才传递到后台,但是如果是空值的话这两个字段是不存在的,所以当ajax返回的时候result里面是没有这两个值的,当然会报错了
