老师解决了,之前是将查询输入框的值保存到查询按钮的自定义属性中,然后想直接获得自定义属性的值,通过where:{author:authorName}设置到 render里面
table.render({
elem: '#grdBook' //指定div
, id : "bookList" //数据表格id
, toolbar: "#toolbar" //指定工具栏,包含新增添加
, url: "/management/book/list"//数据接口,带有作者参数
, page: true //开启分页
, cols: [[ //表头
{field: 'bookName', title: '书名', width: '300'}
, {field: 'subTitle', title: '子标题', width: '200'}
, {field: 'author', title: '作者', width: '200'}
, //type设定列类型,space为空列,即不需要title
{type: 'space', title: '操作', width: '200' , templet : function(d){
//为每一行表格数据生成"修改"与"删除"按钮,并附加data-id属性代表图书编号,d是每一行的Book对象
return "<button class='layui-btn layui-btn-sm btn-update' data-id='" + d.bookId + "' data-type='update' onclick='showUpdate(this)'>修改</button>" +
"<button class='layui-btn layui-btn-sm btn-delete' data-id='" + d.bookId + "' onclick='showDelete(this)'>删除</button>";
}
}
]]
});
,后来发现没有效果,因为自定义属性默认值是null,点击后才会获得值,而render里面的表格设置,是html加载后就已经渲染了,不能动态获取,
最后找到的解决方法是,给查询按钮一个单击事件,点击后获得输入框的值,并通过table.reload(Id,{author:authorName})重载时对参数进行设置,运行成功
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星