首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EasyAdmin3:可点击的表格行(链接到编辑页面)

EasyAdmin3:可点击的表格行(链接到编辑页面)
EN

Stack Overflow用户
提问于 2020-11-25 18:34:56
回答 4查看 3K关注 0票数 3

我不喜欢在索引页(EasyAdmin 3/ symfony 5)上的每个实体的末尾的“编辑”EasyAdmin,我想让表行可点击,它将直接发送到编辑页面。

我想解决方案肯定是使用Javascript,所以我开始:

PHP-文件

代码语言:javascript
复制
class PersonCrudController extends AbstractCrudController {
   [...]
   
    public function configureFields(string $pageName): iterable {
        [...]
        yield TextField::new('fullName',  'Name')->onlyOnIndex()->setCssClass('js-row-action');
        [...]
    }

   [...]
}

javascript文件

代码语言:javascript
复制
// call functions once page is loaded
document.addEventListener("DOMContentLoaded", function() {
    makeTableRowClickable();
});

function makeTableRowClickable() {
    let elements = document.getElementsByClassName('js-row-action');

    for (let i = 0; i < elements.length; i++) {
        let td = elements[i];
        let tr = td.parentNode;

        tr.addEventListener("click", function (e) {
            alert('click the row, Jack!');
        });
    }
}

公开问题

  1. 如何生成编辑页面的URL?
  2. ,如何将包含该URL的数据属性设置为任意(隐藏)字段,以便在javascript?

中使用它。

有什么想法吗?非常感谢!

EN

Stack Overflow用户

发布于 2022-07-04 09:04:20

纯javascript版本

代码语言:javascript
复制
for (let [key, element] of Object.entries(document.getElementsByClassName('edit-entity'))) {        
    element.innerHTML = '<a href="'+element.parentElement.querySelector('td.actions a').getAttribute('href')+'">'+element.innerHTML+'</a>';
}

CrudController configureFields

代码语言:javascript
复制
yield Field::new('column')->setCssClass('edit-entity');
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65010784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档