请问laravel-admin如何实现点击一行的某个地方实现跳转

点击一行内的某个地方,可以跳转另外一个页面

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
$grid->column('field', '链接')->display(function () {
            return sprintf("<a href='%s' target='_blank'>%s</a>",$url, $this->field );
        });
3年前 评论
Ceeport (楼主) 3年前
讨论数量: 5
$grid->column('field', '链接')->display(function () {
            return sprintf("<a href='%s' target='_blank'>%s</a>",$url, $this->field );
        });
3年前 评论
Ceeport (楼主) 3年前

用JS,获取Button对象,然后绑定click事件,事件中window.location = 你要去的页面,button的type属性设置为button,别设置成submit

3年前 评论
Ceeport (楼主) 3年前
3年前 评论
Ceeport (楼主) 3年前
DogLoML

用js事件委托,将tr的点击事件委托给表格,监听表格点击,获取到对应的tr,如果有action,可以直接手动触发他的点击

\Admin::script(
<<<JS
// 监听双击事件可能更好,单击容易误操作
$('.grid-table').on('dblclick',function(e){
    // 这里可以拿到这一行的key
    var itemKey = $(e.target).parent('tr').attr('data-key');
    var url = '/admin/leave-audits/'+itemKey;
    console.log(itemKey,url);
    // 页面跳转
    // location.href=url;
    // 也可以触发其他的动作,比如显示bootstrap弹窗什么的,或者发ajax
    // 假如有模态框,就可以手动将其显示出来
    var targetModal = $('#my-modal-refuse-'+itemKey);
    targetModal.modal('show');
});
JS
);

如果只需要点击名字跳转:

\Admin::script(
            <<<JS
            // 触发任意js函数
            window.aa=function(aa){
                alert(aa);
            }
        JS
        );
        $grid = new Grid(new modelClass);
        $grid->column('id', __('Id'))->display(function($f){
        // 只跳转的话这么写也可以
            return <<<html
            <span onclick="location.href='/admin/members/$this->id'">$f</span>
html;
        });;
        // 或者也可以触发任意js函数,只要在new Grid之前把函数挂载到全局对象就行,可以用来做弹窗什么的
        $grid->column('member.member_name', __('Member name'))->display(function($f){
            return <<<html
            <span onclick="aa('$f')">$f</span>
html;
        });

2年前 评论
$grid->column('field', '链接')->link(function ($value) {
    return admin_url('/users/'.$value);
});
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!