使用javascript/jquery从表的给定行提取Cell/Td/tabledata值

Extract a Cell/Td/tabledata value from a given row of a table using javascript/jquery

本文关键字:提取 Cell tabledata Td jquery javascript 使用      更新时间:2023-09-26

这是我在Asp.net MVC razor视图中使用的html表

<table class="table-striped table-bordered">
  <thead>
    <tr>
        <th class="col-md-2">
            Id
        </th>
        <th class="col-md-4">
            Description
        </th>
        <th class="col-md-3">
            Quantity
        </th>
        <th class="col-md-3">
            AssetType
        </th>
    </tr>
</thead>
<tbody>
    @foreach (var i in Model)
    {
        <tr>
            <td class="col-md-2">
                @i.Id
            </td>
            <td class="col-md-4">
                @i.Description
            </td>
            <td class="col-md-3">
                @i.Count
            </td>
            <td class="col-md-3">
                @i.AssetType
            </td>
            <td>
              <a onclick="getId()">Edit</a>
            </td>
        </tr>
    }
</tbody>
</table>

My Js Code

<script type="text/javascript">
    var getId = function () {
       //get current row 
       var currentRow = $(this).closest('tr');
       // get the id from the current row. or is there any better way ?         
    }   
</script>

Hi在以上代码中。我所要做的就是当用户选择表中给定行的编辑链接时。我想提取所选行的id值。

谁能在这个问题上给我指教一下?我看过一些介绍如何从每行获取给定单元格值的文章,但没有找到解释如何从给定行提取数据单元格值的文章。

您已经拥有了它,因为您正在从服务器端生成HTML,当用户单击时将id传递给函数以执行您想要的任何操作。

 <td>
    <a onclick="getId('@i.Id')">Edit</a>
 </td>
function getId(id) {...}

或者如果你愿意,你可以这样写:

 <a onclick="getId(this)">Edit</a>
        function getId(dom){
          var id = $(dom).parent().find('.col-md-2').html();
         }

您可以在Edit链接中将id值设置为data-id属性,如下所示

<a data-id="@i.Id" class="edit-button" href="#">Edit</a>

将click事件处理程序添加到编辑链接中,您可以使用$(this).data('id')

获取id值
<script type="text/javascript">
    $('.edit-button').on('click', function (e) {
        e.preventDefault();
        alert($(this).data('id'));
    });
</script>

工作小提琴:http://jsfiddle.net/ds4t6jur/