如何在单击指向javascript函数内的锚点时获取标记中的属性

时间:2015-11-01 17:05:37

标签: javascript jquery html ajax

所以我需要一些帮助。

我对sql数据库有一个查询,它返回一个包含表中所有数据的数组。

然后我有一个for将所有数组数据插入到表的行中。

此代码块使用数组中的数据填充表:

for ($i = 0; $i < $size; $i++) {
 print ("
 <tr>
 <td>".$Users[$i][0]."</td>
 <td>".$Users[$i][1]."</td>
 <td>*****</td>
 <td><a href='javascript:Delete_User();'><img src='images/delete.png'/></a>/td>
 </tr>
 <tr>");
}

当我们点击锚时,它指向javascript函数Delete_User();

函数Delete_User();

function Delete_User() {
$.ajax({
    type: "GET",
    url: "delete_user.php" ,
    data: { id: "TABLE ROW ID HERE" },
    success : function() {
            window.location.href='utilizadores.php';
        }
        });
}

我试图解决这个问题,如果我在标签中添加一个属性,可能使用jQuery或js,我可以得到它。

我的第一次尝试:

for ($i = 0; $i < $size; $i++) {
 print ("
 <tr row-id='".$Users[$i][0]."'>
 <td>".$Users[$i][0]."</td>
 <td>".$Users[$i][1]."</td>
 <td>*****</td>
 <td><a href='javascript:Delete_User();'><img src='images/delete.png'/></a>/td>
 </tr>
 <tr>");
}

那么,现在我如何在Delete_User js函数的ajax函数的get参数中获取该row-id值?

提前致谢。

2 个答案:

答案 0 :(得分:0)

这是最简单的方法:

 <td><a href='javascript:Delete_User(\"{$Users[$i][0]}\");'>

 function Delete_User( id ) {

可替换地:

 <tr data-row-id='{$Users[$i][0]}'>
 ...
 <td><a href='javascript:Delete_User(this);'>

function Delete_User( el ) {
    var id = $(el).closest("tr").data( "row-id" );
    ...

答案 1 :(得分:0)

为DOM元素添加一个类:

<a class='delete-button' ...></a>

并在你的.js文件中添加:

$('a.delete-button').on('click',function(e){
    e.preventDefault();
    Delete_user($(this).closest('tr').attr('row-id'))
}

并添加delcare你的功能

Delete_user(id){ ... }