从单击输入按钮的行中的td获取值(使用jQuery)

时间:2017-06-28 20:15:49

标签: javascript jquery

我在使用tdjQuery获取值时遇到了麻烦。

它一直在说" undefined"或者没有结果出来,但我编辑了我的代码。

我不知道有什么不对......

这是我的代码: (最初,来自mySQL DB的数据应该在表格中。但我省略了它们以便使问题更简洁)

<html>
<head>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
    <script type="text/javascript">    
        $(document).ready(function(){
            $(".delete").click(function(){                    
                var currentrow=$(this).closest('tr');
                var item=currentrow.find('.id').text();
                alert("delete item number:".item);
            });
            $(".approve").click(function(){
                alert("approve!");
            });
            $(".edit").click(function(){
                alert("edit!");
            });
        });
    </script>
</head>

// Table that contains data 

<body>
    <table>
        <tr>
            <td class='id'>
            </td>
            <td>
            </td>
            <td>
                <input type='button' class='delete' value='Delete'/>
            </td>
            <td>
                <input type='button' class='approve' value='Approve'/>
            </td>
            <td>
                <input type='button' class='edit' value='Edit'/>
            </td>
        </tr>
    </table>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

使用类的

find()将返回一个元素数组。您需要获取第一个元素,然后执行文本查找,如下所示:

var item=$(currentrow.find('.id')[0]).text();

此外,在Javascript中,您使用+连接字符串(而不是像PHP一样使用。)

alert("delete item number:" + item);