簡體   English   中英

jQuery在表的每一行上應用一個函數

[英]jQuery applying a function on each row of a table

我有一個對象數組。 我必須對每行應用一個函數,並記錄相應的名稱和ID。

這是我的代碼:

var json = [
    {
        id: 1,
        name: "Jon",
        age:  20

    },
    {
        id: 2,
        name: "Jessy",
        age:  25

    },
    {
        id: 3,
        name: "Sarah",
        age:  30

    },
]

console.log(json)
var tr;
for (var i = 0; i < json.length; i++) {
    tr = $('<tr/>');
    tr.append("<td>" + json[i].id + "</td>");
    tr.append("<td>" + json[i].name + "</td>");
    tr.append("<td>" + "<button class='btn btn-info'>Log</button>" + "</td>");
    $('table').append(tr);

}

使用jQuery,如何應用該函數並記錄ID和名稱? 在單擊按鈕時,我需要記錄ID和名稱。 每個按鈕將記錄其單元格的名稱和ID

因此,如果單擊第一行中的按鈕,則應記錄id: 1 , name: jon

您可以簡單地執行以下操作:

 var json = [{id:1,name:"Jon",age:20}, {id:2,name:"Jessy",age:25}, {id:3,name:"Sarah",age:30}]; //console.log(json) var tr; for (var i = 0; i < json.length; i++) { tr = $('<tr/>'); tr.append("<td>" + json[i].id + "</td>"); tr.append("<td>" + json[i].name + "</td>"); tr.append("<td>" + "<button class='btn btn-info'>Log</button>" + "</td>"); $('table').append(tr); } // Attach a delegated event handler $('table').on('click', '.btn-info', function(event) { console.log('ID: ' + $(this).closest('tr').find('td:eq(0)').text()); console.log('Name: ' + $(this).closest('tr').find('td:eq(1)').text()); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table></table> 

您可以使用forEach方法循環數組,然后使用tdbutton創建每一行,並將click事件添加到button。

 const json = [{"id":1,"name":"Jon","age":20},{"id":2,"name":"Jessy","age":25},{"id":3,"name":"Sarah","age":30}] const tbody = $("table tbody"); json.forEach(function(obj) { let { id, name} = obj; let btn = $('<button>', {"class": 'btn btn-info'}) .text('Log') .click(function() { console.log('ID: ' + id, 'Name: ' + name) }) let tr = $("<tr>") .append($('<td>').text(id)) .append($('<td>').text(name)) .append($('<td>').html(btn)) tbody.append(tr) }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tbody></tbody> </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM