我不喜欢在索引页(EasyAdmin 3/ symfony 5)上的每个实体的末尾的“编辑”EasyAdmin,我想让表行可点击,它将直接发送到编辑页面。
我想解决方案肯定是使用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!');
});
}
}公开问题
中使用它。
有什么想法吗?非常感谢!
发布于 2022-07-04 09:04:20
纯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
yield Field::new('column')->setCssClass('edit-entity');https://stackoverflow.com/questions/65010784
复制相似问题