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. 具体的にセルの値を返す方法は?

それらの少なくとも1つを行う方法を理解すれば、私の問題は解決されます。それは私をたくさんかわしました。ありがとう

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>

jQuery コードの実行時にテーブルが確実に追加されるようにするには、setTimeout() を使用します。

于 2012-07-18T13:23:33.543 に答える