我正在制作一个管理页面,其中显示了使用帖子的列表(我使用ejs作为模板渲染引擎)
<table>
<tr>
<th>Nama</th>
<th>Watever</th>
</tr>
<% xprojects.forEach(function(data) { %>
<tr>
<td><%= data.name %></td>
<td><%= data.desc %></td>
<td><a href="javascript:void(0);"
onclick="hello();">Edit</a></td>
<td>Delete</td>
</tr>
<% }) %>
</table>
编辑按钮(链接)调用另一个文件中的javascript函数
function hello() {
alert('This should show the "Name" of the table row which button clicked');
}
如何知道哪个表行的按钮调用hello()函数,并从表行检索数据(例如“Name”列)
答案 0 :(得分:0)
在HTML中添加:
function hello(name) {
alert('This should show the name of the table row which button clicked: ' + name);
}
然后在JS:
numPerPage
答案 1 :(得分:0)
我认为这会对你有帮助。
<script>
$(function () {
$('table').on('click', function (e) {
var x = $(e.target);
alert($(x.parents().find('tr').find('td,th')[0]).text());
});
});
</script>
答案 2 :(得分:0)
像Vinod一样,我会附加一个事件监听器,而不是使用内联JS(onclick
)
在您的HTML中,每个锚标记都可以包含数字属性和类editlink
:
<a number="1" class="editlink">Edit</a>
在香草JS中:
// Select all elements that have the class '.editlink'
let editlinks = document.querySelectorAll('.editlink');
// for-loop for each editlink
editlinks.forEach(function(editlink) {
// add event-listener with click-event
editlink.addEventListener('click', function(e) {
// e.target is the clicked element
let clickedElement = e.target;
let clickedElementNumberAttribute = clickedElement.getAttribute('number');
alert('You clicked number ' + clickedElementNumberAttribute);
})
});