如何获取特定行的单元格的值

时间:2016-10-26 06:16:04

标签: javascript jquery html

我一直试图解决这个问题,而且遇到了很多麻烦,所以我很感激帮助。情况就是这样。我有一个动态生成的表,例如,假设这个动态生成的表中有十行来自从数据库获得的数据。我使用此代码使用JSON从数据库中获取数据。

$(document).ready(function() {
    $("#findtrucker-btn").click(function(event){
        $.getJSON("/getallLoadsA", function(loads) {
            var tr = loads;
            for (var i = 0; i < loads.length; i++) {
                tr = $('<tr/>');
                tr.append("<td>" + i + "</td>");
                tr.append("<td>" + loads[i].loadname + "</td>");
                tr.append("<td>" + loads[i].category + "</td>");
                tr.append("<td>" + loads[i].space + "</td>");
                tr.append("<td>" + loads[i].weight + "</td>");
                tr.append("<td>" + loads[i].loadprice + "</td>");
                tr.append("<td>" + loads[i].street + " " + loads[i].city + ", " + loads[i].state + "</td>");
                tr.append("<td>" + loads[i].dstreet + " " + loads[i].dcity + ", " + loads[i].dstate + "</td>");
                tr.append("<td>" + loads[i].status + "</td>");
                tr.append("<td><button onclick=update()>Update</button></td>");
                $('#table').append(tr);
            }
        });
    });
});

所以,我的表中有10行,每行都有一个名为&#34的按钮;更新&#34;单击时,我想转到另一个页面。我发现使用以下内容可以获得所需的输出和页面加载,但仅适用于第1行。

window.location.href = '/updateload?loadname='+(document.getElementById("table").rows[1].cells.item(1).innerHTML);

我希望能够通过点击按钮&#34;更新&#34;在每一行上,访问该特定行的第二个值,以便loadname =&#39;该特定行的加载名称&#39;或者加载[i] .loadname,其中i =当前为该特定按钮开启的行,并且在切换页面时适当地切换页面,我将能够获得该行的数据并且能够随后更新数据。此外,数据将附加到此表:

<table id="table" class="table table-bordered table-striped">
    <tr>
        <th>#</th>
        <th>Loadname</th>
        <th>Category</th>
        <th>Space</th>
        <th>Weight</th>
        <th>Load Price</th>
        <th>Pickup Location</th>
        <th>Deliver Location</th>
        <th>Status</th>
        <th>Update</th>
    </tr>
</table>

2 个答案:

答案 0 :(得分:1)

尝试此方法

$(document).ready(function() {
$("#findtrucker-btn").click(function(event){
    $.getJSON("/getallLoadsA", function(loads) {
        var tr = loads;
        for (var i = 0; i < loads.length; i++) {
            tr = $('<tr/>');
            tr.append("<td>" + i + "</td>");
            tr.append("<td id="'loadName' + i">" + loads[i].loadname + "</td>");
            tr.append("<td>" + loads[i].category + "</td>");
            tr.append("<td>" + loads[i].space + "</td>");
            tr.append("<td>" + loads[i].weight + "</td>");
            tr.append("<td>" + loads[i].loadprice + "</td>");
            tr.append("<td>" + loads[i].street + " " + loads[i].city + ", " + loads[i].state + "</td>");
            tr.append("<td>" + loads[i].dstreet + " " + loads[i].dcity + ", " + loads[i].dstate + "</td>");
            tr.append("<td>" + loads[i].status + "</td>");
            tr.append("<td><button onclick=update('i')>Update</button></td>");
            $('#table').append(tr);
        }
    });
});

});

and Here in Update function
   window.location.href = '/updateload?loadname=' + $("#loadname" + i).text());   

答案 1 :(得分:0)

当你创建table td的动态html时,试试这个

tr.append("<td id=rowcol_"+ i +">" + i + "</td>");

并将此绑定为您的更新按钮,如

tr.append("<td><button onclick=update("+ i +")>Update</button></td>");

现在更新方法就这样做

function update(i) {
     window.location.href = '/updateload?loadname='+(document.getElementById("rowcol_" + i).innerHTML);
}
相关问题