我有一个由Knockoutjs填充的表,我每行都有一个按钮,我需要从点击按钮所在行的第一列获取de数据。
这是我到目前为止所得到的:
HTML:
<tbody id="tbodyid" data-bind="foreach: listadepacs">
<tr>
<td style="display: none" data-bind="attr: {id : IdPac}"></td>
<td data-bind="text: NombrePaciente"></td>
<td><?php echo $this->session->userdata['logged_in']['algo'];?></td>
<td>
<button class="tag label label-info" onclick="vma.btnFicha();">
<a><i class="remove glyphicon glyphiconD glyphicon-user glyphicon-white"></i></a>
</button>
</td>
</tr>
</tbody>
JS:
self.btnFicha = function(){
var currentRow = $(this);
var col1 = currentRow.find("td:eq(1)").text();
alert(col1);
}
警报没有显示任何内容,它提升但没有数据。
答案 0 :(得分:0)
首先需要找到包裹<tr>
,如下所示:
self.btnFicha = function(elm){
var currentRow = $(elm).closest('tr');
var col1 = currentRow.find("td:eq(1)").text();
alert(col1);
}
此外,您需要将onclick="..."
更改为onclick="vma.btnFicha(this);"
,因为this
在函数中引用了vma
。