Hi, i want to display 2 charts in same page, but when i try to run, just 
only 1 chart can display... i had changed the element id's, did i miss 
something ???

    <script type="text/javascript">
    google.load('visualization', '1', {packages: ['controls']});
google.setOnLoadCallback(drawChart);
 
      function drawChart() {
   var jsonData =$.ajax({
          url: "goo2.php",
          dataType:"json",
          async: false
          }).responseText;
             
var data = new google.visualization.DataTable(jsonData);
  
    var columnsTable = new google.visualization.DataTable();
    columnsTable.addColumn('number', 'colIndex');
    columnsTable.addColumn('string', 'colLabel');
    var initState= {selectedValues: []};
    // put the columns into this data table (skip column 0)
    for (var i = 3; i < data.getNumberOfColumns(); i++) {
        columnsTable.addRow([i, data.getColumnLabel(i)]);
        initState.selectedValues.push(data.getColumnLabel(i));
    }
    
    var chart = new google.visualization.ChartWrapper({
        chartType: 'ColumnChart',
        containerId: 'chart_div',
        options: {
            title: 'Foobar',
            width: 600,
            height: 400
        },
        view: {
        columns: [2, 3, 4, 5, 6, 7]
    }
    });
    
    var SubjectFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'SubjectFilter_div',
        options: {
            filterColumnLabel: 'Subject',
            ui: {
                label: 'Subject',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
    
    var SemesterFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'SemesterFilter_div',
        options: {
            filterColumnLabel: 'Semester',
            ui: {
                label: 'Semester',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
       
    var CategoryFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'CategoryFilter_div',
        options: {
            filterColumnLabel: 'Category',
            ui: {
                label: 'Category',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
    
    var dashboard = new 
google.visualization.Dashboard(document.getElementById('dash_div'));
    dashboard.bind([SemesterFilter], [SubjectFilter]);
    dashboard.bind([SubjectFilter], [CategoryFilter]);
    dashboard.bind([CategoryFilter], [chart]);
    dashboard.draw(data);
    
    var columnFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'colFilter_div',
        dataTable: columnsTable,
        options: {
            filterColumnLabel: 'colLabel',
            ui: {
                label: 'Columns',
                allowTyping: false,
                allowMultiple: talse,
                selectedValuesLayout: 'belowStacked'
            }
        },
        state: initState
    });
    
    google.visualization.events.addListener(columnFilter, 'statechange', 
function () {
        var state = columnFilter.getState();
        var row;
        var columnIndices = [2];
        for (var i = 0; i < state.selectedValues.length; i++) {
            row = columnsTable.getFilteredRows([{column: 1, value: 
state.selectedValues[i]}])[0];
            columnIndices.push(columnsTable.getValue(row, 0));
        }
        // sort the indices into their original order
        columnIndices.sort(function (a, b) {
            return (a - b);
        });
        chart.setView({columns: columnIndices});
        chart.draw();
    });
    
    columnFilter.draw();
    var chart = new google.visualization.ChartWrapper({
        chartType: 'LineChart',
        containerId: 'chart_div1',
        options: {
            title: 'Foobar',
            width: 600,
            height: 400
        },
        view: {
        columns: [2, 3, 4, 5, 6, 7]
    }
    });
    
    var SubjectFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'SubjectFilter_div1',
        options: {
            filterColumnLabel: 'Subject',
            ui: {
                label: 'Subject',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
    
    var SemesterFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'SemesterFilter_div1',
        options: {
            filterColumnLabel: 'Semester',
            ui: {
                label: 'Semester',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
       
    var CategoryFilter = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'CategoryFilter_div1',
        options: {
            filterColumnLabel: 'Category',
            ui: {
                label: 'Category',
                allowTyping: false,
                allowMultiple: false,
                selectedValuesLayout: 'belowStacked'
            }
        }
    });
    
    var dashboard = new 
google.visualization.Dashboard(document.getElementById('dash_div1'));
    dashboard.bind([SemesterFilter], [SubjectFilter]);
    dashboard.bind([SubjectFilter], [CategoryFilter]);
    dashboard.bind([CategoryFilter], [chart]);
    dashboard.draw(data);
    
    var columnFilter1 = new google.visualization.ControlWrapper({
        controlType: 'CategoryFilter',
        containerId: 'colFilter_div1',
        dataTable: columnsTable,
        options: {
            filterColumnLabel: 'colLabel',
            ui: {
                label: 'Columns',
                allowTyping: false,
                allowMultiple: talse,
                selectedValuesLayout: 'belowStacked'
            }
        },
        state: initState
    });
    
    google.visualization.events.addListener(columnFilter1, 'statechange', 
function () {
        var state = columnFilter1.getState();
        var row;
        var columnIndices = [2];
        for (var i = 0; i < state.selectedValues.length; i++) {
            row = columnsTable.getFilteredRows([{column: 1, value: 
state.selectedValues[i]}])[0];
            columnIndices.push(columnsTable.getValue(row, 0));
        }
        // sort the indices into their original order
        columnIndices.sort(function (a, b) {
            return (a - b);
        });
        chart.setView({columns: columnIndices});
        chart.draw();
    });
    
    columnFilter1.draw();
}
      
</script>
  </head>
  <body style="font-family: Arial;border: 0 none;">

    <div id="dash_div">
      <table>
        <tr style='vertical-align: top'>
          <td style='width: 300px; font-size: 0.9em;'>
            <div id="SemesterFilter_div" style="float: left;"></div>
<div id="SubjectFilter_div" style="float: left;"></div>
<div id="CategoryFilter_div" style="float: left;"></div>
<div id="colFilter_div" style="float: left;"></div>
<div style="clear: both;"></div>
<div id="chart_div"></div>
          </td>
        </tr>
      </table>
    </div>
    <div id="dash_div1">
      <table>
        <tr style='vertical-align: top'>
          <td style='width: 300px; font-size: 0.9em;'>
            <div id="SemesterFilter_div1" style="float: right;"></div>
<div id="SubjectFilter_div1" style="float: right;"></div>
<div id="CategoryFilter_div1" style="float: right;"></div>
<div id="colFilter_div1" style="float: right;"></div>
<div style="clear: both;"></div>
<div id="chart_div1" style="float: right;"></div>
          </td>
        </tr>
      </table>
    </div>
  </body>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to