【发布时间】:2021-03-08 16:03:26
【问题描述】:
我不喜欢 INDEX 页面(EasyAdmin 3 / symfony 5)上每个实体末尾的“编辑”按钮,我希望表格行可点击,它会直接发送给我编辑页面。
我想解决方案一定是使用Javascript,所以我开始了:
PHP 文件
class PersonCrudController extends AbstractCrudController {
[...]
public function configureFields(string $pageName): iterable {
[...]
yield TextField::new('fullName', 'Name')->onlyOnIndex()->setCssClass('js-row-action');
[...]
}
[...]
}
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!');
});
}
}
开放式问题
- 如何生成 EDIT 页面的 URL?
- 如何将带有 URL 的数据属性设置到任何(隐藏)字段中,以便在 javascript 中使用它?
有什么想法吗?非常感谢!
【问题讨论】:
标签: javascript onclick crud symfony5 easyadmin