2014-09-01 89 views
0

我已经使用jQuery创建了一个动态表。并从数据库中动态绑定行和列。每行都附加一个复选框。“dynamictable”是一个创建的div标签,并将表追加到它。以下是代码片段。点击获取jquery网格的列值

$('#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); 
} 

现在onclick的复选框,我需要得到整个列值之一。我该如何实现它。下面是我的栅样本结果,

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

有需要的阵列, VAR colvals =获取COLUMN2值[];

任何suggessions,

问候

+0

如果我签 'AA' 你想在1,2阵列权 – sameer 2014-09-01 11:49:13

+0

是的,这是正确的。 – Sangeetha 2014-09-01 12:02:40

+0

@sangeetha:你在说,'你在每行添加了一个复选框,现在你说你想在复选框的变化事件中获得整个列值。这两者相互冲突。 – 2014-09-01 12:02:49

回答

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

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); 
} 
+0

你能告诉我pos是位置吗? – Sangeetha 2014-09-01 12:41:29

+0

@sangeetha是的,你需要通过的位置。 – sameer 2014-09-01 12:43:55