我有一张桌子,在每个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方法来获取文本但我得到了null值。
$(function () {
$('.info_link').click(function () {
alert($(this).text());
});
});
答案 0 :(得分: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>
答案 1 :(得分:0)
如果你想获得每个td内的文字(正如你在问题中所说的那样),你可以写:
$('td').click(function () {
alert($(this).text());
});
如果你想获得每个标签内的文本(这是你的代码试图做的),你可以写:
$('td>a').click(function () {
alert($(this).text());
});
无论如何,你在td或a里面什么都没有显示,所以什么都不能被警告。 如果您的代码是这样的,您将得到一个值:
<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>
在这两种情况下,您都会将“Dummy”视为警示值。