单击时从jquery网格获取列值

时间:2014-09-01 11:38:35

标签: javascript jquery asp.net jqgrid

我使用jquery创建了一个动态表。并从数据库动态绑定行和列。每行附加一个复选框。“dynamictable”是创建的div标签,表格附加到其上。以下是代码段。

$('#dynamictable').append(
  '<table class="table custom-table table-bordered table-hover"></table>'
);
var table = $('#dynamictable').children();
----
rowHeader += "<th>" + colName[i] + "</th>";
--
table.append(rowHeader);
for (var i = 0; i < jsonData.rows.length; i++)
{
    row = '';
    if (jsonData.rows.length > 0) {
        row += "<tbody><tr class='row_odd'>";
        row += "<td class='model_bt' onclick='show_hide(" + i + ")'>" +
               '<input type="checkbox" id=ch'+i+' onclick="displayChart()"/>' +
               jsonData.rows[i].cell[2] + "</td>";

        row += "<td>" + jsonData.rows[i].cell[3] + "</td>";
        row += "<td>" + jsonData.rows[i].cell[4] + "</td>";
        row += "<td>" + jsonData.rows[i].cell[5] + "</td>";
        row += "</tr></tbody>";
   }
   table.append(row);
}

现在点击复选框我需要获取整个列值之一。我怎么能实现它。下面是我的网格示例结果

colum1    colum2   colum3
 aa         1        10
 bb         2        20
 --         --       --

需要在数组中获取column2值, var colvals = [];

任何建议,

此致

2 个答案:

答案 0 :(得分:0)

请查看以下代码。

function displayChart(pos) {
    var items = [];
    $('#tableId tbody tr td:nth-child('+pos+')').each( function(){
       //add item to array
       items.push( $(this).text() );       
    });
    alert(items);
}

答案 1 :(得分:0)

单击以复选框,将值存储在数组中。 你的Js:

$('*[id^=ch]').on('change',function(){
    var ar=[];
    if($(this).is(':checked')){
        $(this).closest('tr').find('td').not('td:eq(0)').each(function(i){
        ar.push($(this).html())
        });
    }else{
    }
});

DEMO