3

我正在使用两个 td 创建动态行,并且文本Host-Address是从 GET 请求动态填充的。

<tr>
   <td class='hostId'>Host-Address</td>
   <td>
    <input id="btnProv" type='button' onClick="enablePro()" class='btn-success' value="Provision">
   </td></tr>

我需要使用 jquery 获取该值

function enablePro(){
 //var ipAddr = $(this).parent().siblings("td").first().text();
 var row = $(this).closest('tr');
 var ipAddr  = row.find('td.hostId').text();
 alert(ipAddr);
 }

但是我得到一个空的警报框请指出我的错误

4

2 回答 2

5

您需要传递this给函数

onClick="enablePro(this)" 

function enablePro(elem){

 var row = $(elem).closest('tr');

this 内联绑定事件时,指的是函数内部的窗口对象。

使用javascript而不是inline events绑定事件,然后this指向触发事件的元素。

$('.btn-success').click(enablePro);

检查小提琴

于 2013-08-13T07:16:48.540 回答
0

您必须将thisor传递this.id给函数:
this 指的是该控件的对象,同时this.id会给您控件的 id

onClick="enablePro(this.id)"

function enablePro("#"+sender){
 var row = $(sender).closest('tr');
 var ipAddr  = row.find('td.hostId').text();
 alert(ipAddr);
 }
于 2013-08-13T07:26:48.873 回答