1

ここに、Google ビジュアライゼーション DataTable があります。ここに画像の説明を入力

だから私はこのコードを持っています:

function drawTroskovnik() {


  // Create and populate the data table.
  var JSONObject = $.ajax({
    url: 'getTroskovnik.php', // make this url point to the data file
    dataType: 'json',
    data:{id_akt:ajdi},
        async: false,
    type: 'POST',
    }).responseText;

  var data = new google.visualization.DataTable(JSONObject, 0.5);

for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
    for (var x = 1, maxcols = data.getNumberOfColumns(); x < maxcols; x++) {

      data.setValue(y, x, '<input id="costRedovi" class="form-control" value="'+data.getValue(y,x)+'">');
    }
} 
 for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {

      data.setValue(y, 0, '<input class="span2 form-control" id="pocetak1" size="16" type="text" value="'+data.getValue(y,0)+'" readonly>');

} 


        data.addColumn('string', 'Kontrole');
        for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
        var mc= data.getNumberOfColumns()-1;
data.setValue(y, mc, '<a data-toggle="modal" data-target="#update" href="#" class="btn btn-success"><i class="fa fa-pencil"></i> Details</a>');

        }
new google.visualization.events.addListener(table, 'ready', function () {
        google.visualization.events.addListener(table.getChart(), 'select', function () {
            var selection = table.getChart().getSelection();
            //HOW TO GET LABEL of COLUMN an DATE from row so to use it in ajax submit
     $( "#costRedovi" ).focusout(function() {
            $.ajax({
            url: "update.php",
            type: "POST",
            async: true, 
            data: { columnName:HOW_to_get_column_name,datum:How_to_get_date_from_row_where_is_selected_cell?}, 
            dataType: "html",

            success: function(data) {
                console.log(data);   
            },  
        });
  })
                        }
        });
    });
  // Create and draw the visualization.
  visualization = new google.visualization.Table(document.getElementById('tpltroskovnik'));
  visualization.draw(data, {'allowHtml': true, cssClassNames: 'nn' }});
}

私は何をする必要がありますか?これで、各セルの値が入力フィールドに入力されたので、変更できます。データベースのデータに対して関数.focusoutを実行したいのですが、これを行うには必要があります(写真でわかるように、日付は行の「0」の位置です...).ajaxupdateget Column Label Name and date

focusout にあるセルの列ラベル名と日付を取得するにはどうすればよいですか?

4

2 に答える 2

1

あなたがする必要があるgetValueのは、選択ハンドラーでテーブルに入れたデータを呼び出すことです。関連するコードは次のとおりです。

        var row = table.getSelection()[0].row;
        console.log(data.getValue(row,0));

このフィドルをチェックして、さらに質問がある場合はお知らせください。

http://jsfiddle.net/WTb8H/

于 2014-03-28T13:42:11.117 に答える
0

この問題を解決するのは非常に簡単だったので、新しいより良い方法で columnLabel を取得します。

for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
    for (var x = 1, maxcols = data.getNumberOfColumns(); x < maxcols; x++) {

      data.setValue(y, x, '<input id="costRedovi" kol="'+ data.getColumnLabel(x) +'" class="form-control" value="'+data.getValue(y,x)+'">');
    }
} 

したがって、解決策は次のとおりです。data.getColumnLabel(x)、すべての入力に属性がkolあり、データテーブルの準備ができたら簡単に ajax コードを実行できるようになりました。

于 2014-03-30T20:25:12.457 に答える