javascript - 获取表中隐藏元素的值(JS)

标签 javascript jquery

我的 View 中有表格

这是代码

  <tbody id="patients" style="overflow-y: scroll;">
                @foreach (var item in Model)
                {
                    <tr>
                        <td class="point">
                            @(rowNo += 1)
                        </td>
                        <td style="display:none"  class="id">
                            @Html.DisplayFor(modelItem => item.Id)
                        </td>
                        <td class="birthday">
                            @Html.DisplayFor(modelItem => item.Date_of_Birthday)
                        </td>
                        <td  class="name">
                            @Html.DisplayFor(modelItem => item.Name)
                        </td>
                        <td class="title"></td>
                        <td class="title"></td>
                        <td class="lastedit">@Html.DisplayFor(modelItem => item.Last_edit)</td>
                        <td style="text-align: end;">
                            <img style="width:30px;height:30px;" class="delete_pt" src="~/images/icons8-Delete-50.png" />
                            <img style="width:30px;height:30px;" class="masters_data" src="~/images/icons8-Document-30.png" />
                        </td>
                    </tr>
                }
            </tbody>

我需要得到 <td style="display:none" class="id"> @Html.DisplayFor(modelItem => item.Id) </td>

为此,我有一个函数需要从 id 类元素中获取值

这里是函数代码

 $(document).on('click', '.delete_pt', function () {
    deleting();
});

function deleting() {
    var title = $(this).parent().find('.id').text();
    alert(title);
    var model = {
    id:pasreInt(id)        };
    $.ajax({
    url: '/PatientDatabase/DeletingPerson',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(model),
        type: 'POST',
        dataType: 'json',
        processData: false,
        success: function (data) {
          location.reload();
        }
    });
}

但是当我试图在 alert 中获取值时,我一无所获。

我的问题在哪里?

最佳答案

这是我的示例代码:

$(function() {
  createRows();

  function createRows() {
    let dummyData = ['Fadhly', 'Aira', 'Haura', 'Al-Khwarizmi'];
    
    let tRows = '';
    for (let i = 0; i < dummyData.length; i++) {
      let rowData = {
        Id: 'id' + i,
        No: i+1,
        Name: dummyData[i]
      };
      
      tRows += '<tr>';
      tRows += '<td>' + rowData.No + '</td>';
      tRows += '<td style="display: none;">' + rowData.Id + '</td>';
      tRows += '<td>' + rowData.Name + '</td>';
      tRows += '<td><button class="btn-delete">Delete</button></td>';
      tRows += '</tr>';
    }
    
    $('tbody').html(tRows);
  }
  
  $('button.btn-delete').on('click', function() {
    let container = $(this).closest('tr');
    alert(container.find('td:nth(1)').html())
  });
});
table {
  width: 100%;
}
table, td {
  border: 1px solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <thead>
    <tr>
      <td>No</td>
      <td style="display: none;">Id</td>
      <td>Name</td>
      <td>Action</td>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>

因此,对于您的情况,您可以使用以下方式获取数据:

$('.delete_pt').on('click', function() {
  let container = $(this).closest('tr');
  alert(container.find('.id').html())
});

关于javascript - 获取表中隐藏元素的值(JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48658591/

相关文章:

javascript - Casperjs: "TypeError: '未定义'不是一个函数“如果evaluate()在另一个文件中使用

javascript - 如何在双击时取消选中单选按钮?

javascript - PHP判断客户端请求的dataType或responseType

javascript - jQuery UI 自动完成功能

javascript - JQuery UI 选择菜单更改显示更改文本

javascript - 在 Silverlight 类库中嵌入 JS 文件

javascript - jQuery - 使工具提示获得 2 个 img alts

javascript - 在 codepen 上全屏查看时无法更新从 API 获取的数据

javascript函数指针和 "this"

javascript - 未定义 onclick 事件的函数 -HTML5 canvas