知道哪个按钮调用javascript函数

时间:2018-02-13 12:18:05

标签: javascript html node.js express ejs

我正在制作一个管理页面,其中显示了使用帖子的列表(我使用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”列)

3 个答案:

答案 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>

访问http://jsfiddle.net/gcq2019k/1/ 在这里

答案 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);
 })
});

或者在这里: https://jsfiddle.net/bblumenfelder/oaajf8Ld/