1

我有以下表格,它利用了 Google Visualization API:

<html>
  <head>
    <script type='text/javascript' src='https://www.google.com/jsapi'></script>
    <script type='text/javascript'>
      google.load('visualization', '1', {packages:['table']});
      google.setOnLoadCallback(drawTable);
      function drawTable() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Name');
        data.addColumn('number', 'Salary');
        data.addColumn('boolean', 'Full Time Employee');
        data.addRows([
          ['Mike',  {v: 10000, f: '$10,000'}, true],
          ['Jim',   {v:8000,   f: '$8,000'},  false],
          ['Alice', {v: 12500, f: '$12,500'}, true],
          ['Bob',   {v: 7000,  f: '$7,000'},  true]
        ]);

        var table = new google.visualization.Table(document.getElementById('table_div'));
        table.draw(data, {showRowNumber: true});
      }
    </script>
  </head>

  <body>
    <div id='table_div'></div>
  </body>
</html>

我想知道的是,当我单击一个单元格时如何:

  1. 返回该单元格所在的列索引?
  2. 返回列标题的名称 ?
  3. 如何返回该特定单元格的值?

如果我弄清楚如何做其中至少一项,那么我的问题就会得到解决。它已经避开了我很多。谢谢

4

2 回答 2

1

证明:http: //jsfiddle.net/iambriansreed/43yAy/

通过行/列检索:

var r = 1; // second row (zero based index)
var c = 2; // third column (zero based index)

$('#table_div tr:eq('+r+') td:eq('+c+')').text();

点击TD:

$('#table_div').on('click', 'td', function(){    
    $(this).text();
});
于 2012-07-18T13:26:12.417 回答
0

这是一种获取单击单元格值的方法(使用 jQuery)。

<body>
<div id='table_div'></div>
<script>
function getTD() {
  $('#table_div td').click(function(){
    var val = $(this).html();
    alert(val);
  });
}
setTimeout('getTD()', 2000);
</script>
</body>

使用 setTimeout() 来确保在执行 jQuery 代码时添加表。

于 2012-07-18T13:23:33.543 回答