2015-05-18 42 views
0

我有一个表,并在每个TD我已经指定href标记一样,这选择锚标记文本具有多个锚

<tbody data-bind="foreach: binddetails"> 
    <tr>       
     <td><a class="info_link" data-bind="text: Status"></a></td> 
     <td class="text-right"><a data-bind=" text: Count.toFixed(0)"></a></td> 
     <td class="text-right"><a data-bind=" text: Total.toFixed(0)"></a></td> 
    </tr> 
</tbody> 

当我点击我需要的价值链接特别是td。我写了jQuery方法来获取文本,但我得到空值。

$(function() { 
    $('.info_link').click(function() { 
     alert($(this).text()); 
    }); 
}); 
+0

返回null,因为的.text()返回标签之间的文本 – Riddler

回答

0

,如果你想这是每一个TD内(如你在你的问题)的文本,你可以这样写:

$('td').click(function() { 
    alert($(this).text()); 
}); 

,如果你想这是每一个内的文本标签(这就是你的代码是试图做),你可以这样写:

$('td>a').click(function() { 
    alert($(this).text()); 
}); 

反正你有TD内没有或要显示什么,从而可以提醒。 如果你的代码是这样的,你会得到一个值:

<td>dummy<a class="info_link" data-bind="text: Status"></a></td> 

将只在第一个选项返回一个值(返回TD值)。 如果你的HTML是这样的,你会得到一个值与两个代码:

<td><a class="info_link" data-bind="text: Status">Dummy.</a></td> 

在这两种情况下,你会得到“虚拟”的警告值。

+0

​​Active ---这是我得到的呈现的html。希望有标记之间的值,但它仍然返回空值 –

+0

@Regent是啊你在JSFiddle中显示了输出。这就是我的预期..但即使在我实现它的时候,我仍然没有看到它。 –

1

你能解决这个没有jQuery的,就像这样:

function YourViewModel() { 
    //binddetails... 
    this.showStatus = function (details) { 
     alert(details.Status()); 
    } 
}; 

HTML:

<tbody data-bind="foreach: binddetails"> 
    <tr>       
     <td><a class="info_link" data-bind="text: Status, click: $root.showStatus"></a></td> 
     <td class="text-right"><a data-bind=" text: Count.toFixed(0)"></a></td> 
     <td class="text-right"><a data-bind=" text: Total.toFixed(0)"></a></td> 
    </tr> 
</tbody>