如何在表tr中获取ID? jQuery的

时间:2020-01-03 18:43:19

标签: javascript jquery html

如何获取表td中的值ID?

<table id="basic" class="table table table-sm">
<thead>
<tr>
    <th scope="col">Name</th>
    <th scope="col">Permissions</th>
    <th scope="col">Description</th>
    <th scope="col">Action</th>
</tr>
</thead>
<tbody>
<tr bgcolor="#FFFFFF" data-node-id="1">
    <td>Sensors</td>
    <td class="editMe">0</td><td></td>
    <td class="editMe">--</td>
</tr>
<tr id="1" data-node-id=" 1.1" data-node-pid="1">
    <td id="name" class="editMe">Sensors</td>
    <td id="permissions" class="editMe">0</td>
    <td id="description" class="editMe">Sensorss...</td>
    <td><a class="mdi mdi-delete-forever" href="#"></a></td>
</tr>
<tr id="2" data-node-id=" 1.2" data-node-pid="1">
    <td id="name" class="editMe">Pogoda</td>
    <td id="permissions" class="editMe">0</td>
    <td id="description" class="editMe">xxx</td>
    <td><a class="mdi mdi-delete-forever" href="#"></a></td>
</tr>

JS代码:

  $(document).ready(function() {

  editor = new SimpleTableCellEditor("basic");
  editor.SetEditableClass("editMe");

  $('#basic').on("cell:edited", function (event) {
    alert(`'${event.oldValue}' changed to '${event.newValue}'`);


    var id = parseInt($(this).closest('tr').attr('id')); // Returns TR ID 
   // 

  });

我的意思是这些id值在这里:

id =“名称”

id =“权限”

id =“说明”

如何获取价值名称权限说明

2 个答案:

答案 0 :(得分:0)

基于事件目标的基本示例:

$(function() {
  $("#basic").on("click", function(e) {
    var $self = $(e.target);
    if ($self.is("td")) {
      console.log("Clicked in Row ID: " + $self.closest("tr").attr("id"));
    }
  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="basic" class="table table table-sm">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Permissions</th>
      <th scope="col">Description</th>
      <th scope="col">Action</th>
    </tr>
  </thead>
  <tbody>
    <tr bgcolor="#FFFFFF" data-node-id="1">
      <td>Sensors</td>
      <td class="editMe">0</td>
      <td></td>
      <td class="editMe">--</td>
    </tr>
    <tr id="1" data-node-id=" 1.1" data-node-pid="1">
      <td id="name" class="editMe">Sensors</td>
      <td id="permissions" class="editMe">0</td>
      <td id="description" class="editMe">Sensorss...</td>
      <td>
        <a class="mdi mdi-delete-forever" href="#"></a>
      </td>
    </tr>
    <tr id="2" data-node-id=" 1.2" data-node-pid="1">
      <td id="name" class="editMe">Pogoda</td>
      <td id="permissions" class="editMe">0</td>
      <td id="description" class="editMe">xxx</td>
      <td>
        <a class="mdi mdi-delete-forever" href="#"></a>
      </td>
    </tr>
  </tbody>
</table>

答案 1 :(得分:0)

谢谢您的回答,我将尖叫所有代码来解释我的问题。

这是用于编辑ajax页面导航的表,问题出在要编辑的记录的标识中。

看看这个: https://jsfiddle.net/faoyxbn0/

<script
  src="https://code.jquery.com/jquery-3.4.1.js"
  integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
  crossorigin="anonymous"></script>

  <script src="https://www.jqueryscript.net/demo/inplace-editing-table-simpletablecelleditor/SimpleTableCellEditor.js"></script>
<script>
$(document).ready(function() {
    editor = new SimpleTableCellEditor("basic");
    editor.SetEditableClass("editMe");
    $('#basic').on("cell:edited", function(event) {
        var newval = event.newValue;

        //alert(`'${event.oldValue}' changed to '${event.newValue}'`);
        $.post("test.php", {
                id: "1 or 2 or 3",       // TR id  <tr id="1" data-node-id="1.1" data-node-pid="1"> or  <tr id="2" data-node-id="1.2" data-node-pid="1">
                name: "permissions", // <-- How to get name="name" or name="permissions" or name="description"
                val: newval,  // <-- value of name , permissions , description
            })
            .done(function(data) {
                alert("Data Loaded: " + data);
            });




    });
});
</script>
<script src="https://www.jqueryscript.net/demo/simple-tree-table/jquery-simple-tree-table.js"></script>
<button type="button" id="expander" class="btn btn-danger">expand</button>
<button type="button" id="collapser" class="btn btn-info">collapse</button>
<div class="table-responsive">
    <div id="tabela">
        <table id="basic" class="table table table-sm">
            <thead>
                <tr>
                    <th scope="col" width="20%">Name</th>
                    <th scope="col" width="5%">Permissions</th>
                    <th scope="col" width="30%">Description</th>
                    <th scope="col" width="10%">Action</th>
                </tr>
            </thead>
            <tbody>
                <tr bgcolor="#1E1E2F" data-node-id="1">
                    <td>Sensors</td>
                    <td class="editMe">0</td>
                    <td></td>
                    <td class="editMe">--</td>
                </tr>
                <tr id="1" data-node-id="1.1" data-node-pid="1">
                    <td name="name" class="editMe">Weather</td>
                    <td name="permissions" class="editMe">0</td>
                    <td name="description" class="editMe">Weather sensors</td>
                    <td><a class="mdi mdi-delete-forever" href="#"></a></td>
                </tr>
                <tr id="2" data-node-id="1.2" data-node-pid="1">
                    <td name="name" class="actionclass editMe">CPU sensors</td>
                    <td name="permissions" class="editMe">0</td>
                    <td name="description" class="editMe">cpu sensors</td>
                    <td><a class="mdi mdi-delete-forever" href="#"></a></td>
                </tr>
                <tr data-node-id="1.2" data-node-pid="1">
                    <td><input type="text" placeholder="Permissions..." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Permissions..." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Description..." class="form-control form-control-xs"></td>
                    <td><button type="submit" name="Edit" value="1" class="btn btn-success btn-xss">Add</button></td>
                </tr>
                <tr bgcolor="#1E1E2F" data-node-id="2">
                    <td>Cams</td>
                    <td class="editMe">0</td>
                    <td></td>
                    <td class="editMe">--</td>
                </tr>
                <tr id="3" data-node-id="2.1" data-node-pid="2">
                    <td name="name" class="actionclass editMe">Home cam</td>
                    <td name="permissions" class="editMe">0</td>
                    <td name="description" class="editMe">garden</td>
                    <td><a class="mdi mdi-delete-forever" href="#"></a></td>
                </tr>
                <tr data-node-id="2.1" data-node-pid="2">
                    <td><input type="text" placeholder="Permissions..." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Permissions..." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Description..." class="form-control form-control-xs"></td>
                    <td><button type="submit" name="Edit" value="1" class="btn btn-success btn-xss">Add</button></td>
                </tr>
                <tr bgcolor="#1E1E2F">
                    <td><input type="text" placeholder="Category name.." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Permissions..." class="form-control form-control-xs"></td>
                    <td><input type="text" placeholder="Description..." class="form-control form-control-xs"></td>
                    <td><button type="submit" name="Edit" value="1" class="btn btn-success btn-xss">Add</button></td>
                </tr>
            </tbody>
        </table>
    </div>
</div>
<script>
    $('#basic').simpleTreeTable({
        expander: $('#expander'),
        collapser: $('#collapser'),
        storeState: true
    });
</script>
相关问题