繁体   English   中英

如何在单击按钮时获取动态表单元格的值

[英]How to get the Dynamic Table cell value on button click

我有一个动态生成的表。 在其行中,我放置按钮。

for (var i = 0; i < resp.length; i++) {    
  tr = tr + "<tr>";    
  tr = tr + "<td >" + resp[i].Date + "</td>";
  tr = tr + "<td >" + resp[i].age + "</td>";
  tr = tr + "<td >" + resp[i].Hour + "</td>";               
  tr = tr + "<td><input value='get me' type='button' class='theButton' id='ma' onclick='test()'></td>";
  tr = tr + "</tr>";
};

表

单击按钮后,我想获取该行的特定单元格值。 例如:如果我点击第一行的年龄,那么我必须得到的值是50。如果我点击第二行的按钮,那么我应该得到94。

单击按钮如何获取表格单元格的值?

这是您的动态表解决方案:

<script language="javascript">
    var tbl = document.getElementById("tblId");
    if (tbl != null) {
        for (var i = 0; i < tbl.rows.length; i++) {
            for (var j = 0; j < tbl.rows[i].cells.length; j++)
                tbl.rows[i].cells[j].onclick = function () { getval(this); };
        }
    }

    function getval(cel) {
        alert(cel.innerHTML);
    }
</script>

因此,通过使用此javascript,您可以获得任何表格单元的值。

这是您的解决方案:

$(document).find('.theButton').on('click',function(){
    var age = $(this).parents('tr:first').find('td:eq(1)').text();
    console.log(age);
});

您可以将年龄传递给按钮onclick函数,例如onclick='test('"+resp[i].age +"')'

for (var i = 0; i < resp.length; i++) {

                tr = tr + "<tr>";

                tr = tr + "<td >" + resp[i].Date + "</td>";
                tr = tr + "<td >" + resp[i].age + "</td>";
                tr = tr + "<td >" + resp[i].Hour + "</td>";               
                tr = tr + "<td><input  value='get me' type='button' class='theButton' id='ma' onclick='test("+resp[i].age +")'></td>";

                tr = tr + "</tr>";


            };

用jQuery尝试这个例子,我用rowid替换了功能测试

https://jsfiddle.net/ucostea/2thyj0ft/

$(document).on("click", ".theButton", function(){
      alert("Aage: "+$('.age_'+$(this).attr('rownr')+'').text());
});
for (var i = 0; i < 10; i++) {
                              var tr = "";
                tr = tr + "<tr >";

                tr = tr + "<td class='date_"+i+"'>Date" + i + "</td>";
                tr = tr + "<td class='age_"+i+"'>Age " + i + "</td>";
                tr = tr + "<td class='hour_"+i+"'>Hour " + i + "</td>";               
                tr = tr + "<td><input  value='get me' type='button' class='theButton' id='ma' rownr='" + i + "'></td>";

                tr = tr + "</tr>";
                $('.table tbody').append(tr);


            };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM