很多时候我们需要在页面额外显示服务端传回的动态数据,此时我们只需要在index.html视图中添加:
html
<a href="javascript:;" class="btn btn-default" style="font-size:14px;color:dodgerblue;">
<i class="fa fa-dollar"></i>
<span class="extend">
金额:<span id="money">0</span>
单价:<span id="price">0</span>
</span>
</a>
找到对应的js文件,添加对应的事件:
javascript
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'kehu/index' + location.search,
add_url: 'kehu/add',
edit_url: 'kehu/edit',
del_url: 'kehu/del',
multi_url: 'kehu/multi',
import_url: 'kehu/import',
table: 'kehu',
}
});
var table = $("#table");
table.on('load-success.bs.table', function (e, data) {
//这里可以获取从服务端获取的JSON数据
console.log(data);
//这里我们手动设置底部的值
$("#money").text(data.extend.money);
$("#price").text(data.extend.price);
});
下面的controller部分的内容:
重写index方法
注意:默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法destroy/restore/recyclebin三个回收站方法
* 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
* 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
)
php
public function index()
{
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if (false === $this->request->isAjax()) {
return $this->view->fetch();
}
//如果发送的来源是 Selectpage,则转发到 Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
[$where, $sort, $order, $offset, $limit] = $this->buildparams();
$list = $this->model
->where($where)
->order($sort, $order)
->paginate($limit);
$result = ['total' => $list->total(), 'rows' => $list->items(),"extend" => ['money' => 1024, 'price' => 888]];
return json($result);
}
这样就能实现对应的效果:
