【问题标题】:How to return table name when corresponding column is clicked?单击相应列时如何返回表名?
【发布时间】:2015-03-18 17:41:57
【问题描述】:

每当我点击相应的列时,我都想获得表格的标题。在我的示例中,列的标题和其余行都是动态创建的。

我的动态生成的表格

tr = $('<tr/>');
$.each(vendor_name, function(j, vendor) {
    tr.append($("<td/>").html('<label >'+vendor_name[j]+'</label>'));// column names
})

 $('#tbl_items').append(tr);

$.each(result, function(i, item) {
   tr = $('<tr/>');
    tr.append($("<td/>").html('<label >'+item['ITEM_NAME']+'</label>'))                              
    tr.append("<td>" + item['QUANTITY'] + "</td>");
    $.each(vendor_name, function(k, vendor) { 
        tr.append($("<td/>").html('<label name="qty" class="name">'+item["'"+vendor_name[k]+"'" ]+'</label>')); 
    });
    $('#tbl_items').append(tr);
});

<table id='tbl_items'><table>

注意:此表是从动态数据透视查询中填充的,因此我已使用上述方法在我的 jsp 页面中显示该表。

根据鼠标点击显示/获取列名。

【问题讨论】:

    标签: jquery html dynamic html-table


    【解决方案1】:

    因此,如果我理解正确,您希望在每一列 (td) 上都有一个点击事件,该事件会返回该列动态生成的 label

    你可以这样完成:

    $('#tbl_items td').click(function() {
      getColumnName(this);
    });
    
    function getColumnName(item) {
      var el = $(item).find('label').attr('name');
      console.log(el);
    }
    

    然后只需将 console.log 替换为 return,在您的空闲时间。

    【讨论】:

    • 我有一个动态生成的文本框,如何获取该文本框的值。 tr.append($("").html('')); @Pangolin
    • 使用上面提供的相同函数,将 $(item).find('label').attr('name') 替换为以下内容:$(item).find('input')。 val()
    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2014-07-06
    • 1970-01-01
    相关资源
    最近更新 更多