在谷歌可视化数据表点击上调用ajax函数

时间:2014-03-29 19:38:17

标签: javascript jquery ajax google-visualization

让我们从头开始......我想用谷歌可视化数据表创建表格,所以我用这段代码做到了:

function drawTroskovnik() {

var JSONObject = $.ajax({
            url: 'getTroskovnik.php', 
            dataType: 'json',
            data:{id_akt:ajdi},
                async: false,
            type: 'POST',
            }).responseText;

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

现在一切都很好。

之后我将除row[0]的日期之外的所有值放入输入字段,并且该输入字段具有ID(costRedovi),因此代码为:

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

现在表行的所有值都在输入字段中,每个输入字段都有ID(costRedovi)。

enter image description here

现在我想要,当我在输入字段中更改值以启动ajax函数时:

$.ajax({
            url: "insertCost.php",
            type: "POST",
            async: true, 
            data: { datum:$("#pocetak").val(),id_akt:ajdi}, //your form data to post goes here as a json object
            dataType: "html",

            success: function(data) {
                $('#output').html(data);
                $('#myModal').modal('hide');
                //drawVisualization();   
            },  
        });

但要启动此函数,我需要获取clicked单元格的columnLabel ...如何在columnLable(jQuery函数)上获取focusout单击的单元格?

所有代码:http://jsfiddle.net/DMGxw/

1 个答案:

答案 0 :(得分:1)

Visualization API中没有任何内容可以获取表格中单元格的列,因此您必须将这些元数据添加到输入中:

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

然后,您可以阅读data-column-label属性以获取列标签。