2017-06-28 44 views
0

我遇到了使用jQuerytd获取值的麻烦。从点击输入按钮的行中获取td的值(使用jQuery)

它一直说“未定义”或没有结果出来,但我编辑我的代码。

我不知道什么是错的......

这里是我的代码: (最初从MySQL数据库的数据应该在那里的表,但我为了使问题简短忽略它们。)

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

回答

0

find()使用类将返回一组元素。你需要抓住的第一个元素,然后执行文本查询,像这样:

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

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

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

+0

你太棒了!它工作得很好!非常感谢你! –

+1

@BiryongLee如果此答案解决了您的问题,请考虑将其标记为已接受,以便将来的用户知道这是问题的解决方案。 – DarkCygnus

+0

@GracyCygnus哦,我不知道。谢谢! –