如何通过行按钮从表中的行获取数据? (javascript或knockoutjs)

时间:2017-01-03 14:07:00

标签: javascript jquery knockout.js

我有一个由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);
}

警报没有显示任何内容,它提升但没有数据。

1 个答案:

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