记录一次在fastadmin中列表顶部增加操作按钮并展开页面操作
index.html
<a href="javascript:;" class="btn btn-success btn-adds btn-disabled disabled {:$auth->check('match/article/adds')?'':'hide'}" title="{:__('指定评委')}" ><i class="fa fa-email"></i> {:__('指定评委')}</a>
定义一个新的操作按钮,这个是为了携带列表中被选中的id,
require-table.js
config: { checkboxtd: 'tbody>tr>td.bs-checkbox', toolbar: '.toolbar', refreshbtn: '.btn-refresh', addbtn: '.btn-add', addsbtn: '.btn-adds', editbtn: '.btn-edit', delbtn: '.btn-del', importbtn: '.btn-import', multibtn: '.btn-multi', disabledbtn: '.btn-disabled', editonebtn: '.btn-editone', restoreonebtn: '.btn-restoreone', destroyonebtn: '.btn-destroyone', restoreallbtn: '.btn-restoreall', destroyallbtn: '.btn-destroyall', dragsortfield: 'weigh', },
addsbtn: '.btn-adds',
// 添加按钮事件 toolbar.on('click', Table.config.addsbtn, function () { var ids = Table.api.selectedids(table); var url = options.extend.adds_url; /*if (url.indexOf("{ids}") !== -1) { url = Table.api.replaceurl(url, {ids: ids.length > 0 ? ids.join(",") : 0}, table); }*/ url = Table.api.replaceurl(url, {ids: ids.length > 0 ? ids.join(",") : 0}, table); Fast.api.open(url, $(this).data("original-title") || $(this).attr("title") || __('Add'), $(this).data() || {}); });
增加一个新的点击事件,注意将url携带参数的判断注释掉,
页面对应的js文件:
首先在index方法中定义“adds_url”
然后定义一个新的操作方法
adds: function () { Controller.api.bindevent(); },
控制器中定义一个类似edit的操作方法,负责接收链接中携带的参数
PS:
如果不需要页面展开,只是一个单纯操作,直接在index方法中定义ajax事件即可