2013-11-25 89 views
-1

我为自己的一个小项目使用谷歌图表,而且我对javascript不太好,所以我想我会寻求一些帮助。Google chart javascript

基本上我想通过按下按钮来改变图表的当前值。 这是脚本:

google.load("visualization", "1", {packages:["corechart"]}); 
google.setOnLoadCallback(drawChart); 
function drawChart() { 
var data = google.visualization.arrayToDataTable([ 
['', 'YES', 'NO'], 
['', 5,  2], 
]); 

var options = { 
title: 'Win/Loss ratio', 
vAxis: {title: 'Chart', titleTextStyle: {color: 'red'}} 
}; 

var chart = new google.visualization.BarChart(document.getElementById('chart')); 
chart.draw(data, options); 
} 

值5和2应该点击button_1或button_2 所有帮助表示赞赏时被改变。

+0

你怎么想的价值观改变?用户是否输入新号码?数字应该增加吗?还有别的吗? – asgallant

+0

@asgallant按下任一按钮时数字应该增加。例如:Button_1增加YES值,Button_2增加NO值。对不起,您不明白 – user2765804

回答

0

你可以做这样的事情:

function drawChart() { 
    var data = google.visualization.arrayToDataTable([ 
     ['', 'YES', 'NO'], 
     ['', 5,  2], 
    ]); 

    var options = { 
     title: 'Win/Loss ratio', 
     vAxis: {title: 'Chart', titleTextStyle: {color: 'red'}} 
    }; 

    var chart = new google.visualization.BarChart(document.getElementById('chart')); 
    chart.draw(data, options); 

    function incrementYes() { 
     data.setValue(0, 1, data.getValue(0, 1) + 1); 
     chart.draw(data, options); 
    } 
    function incrementNo() { 
     data.setValue(0, 2, data.getValue(0, 2) + 1); 
     chart.draw(data, options); 
    } 
    // assumes button_1 and button_2 have id's "button_1" and "button_2" 
    var btn1 = document.querySelector('#button_1'); 
    var btn2 = document.querySelector('#button_2'); 

    if (document.addEventListener) { 
     // add event listener in most browsers 
     btn1.addEventListener('click', incrementYes); 
     btn2.addEventListener('click', incrementNo); 
    } 
    else if (document.attachEvent) { 
     // add event listener in IE 
     btn1.attachEvent('onclick', incrementYes); 
     btn2.attachEvent('onclick', incrementNo); 
    } 
    else { 
     // add event listener in legacy browsers 
     btn1.onclick = incrementYes; 
     btn2.onclick = incrementNo; 
    } 
} 
+0

您写了btn1和bt1,那些应该是不同的?我也想知道#button_1和#button_2是div还是表单按钮?谢谢 – user2765804

+0

对不起,按钮应该是'btn1'和'btn2' - 我会在上面的代码中修复它。此外,它实际上并不重要的按钮是什么元素,只要它会抛出一个“点击”事件(并在我的头顶,我想不到任何HTML元素不会抛出一个点击事件)。 – asgallant

+0

好的,谢谢,它现在起作用! – user2765804