Простой способ - создать контроллер / метод, который принимает идентификатор или имя графа в качестве аргумента и генерирует этот граф для вас на лету.Затем используйте jQuery для вызова ajax этого контроллера / метода, извлечения сгенерированного графика и замены существующего на странице.
Пример реализации:
<script type="text/javascript">
$(function(){
$('select[name=graphList]').change(function(e){
e.preventDefault();
var graphID = $(this).val(); //returns the selected option's value
// make an ajax call to the method/controller to fetch the new graph HTML
$.ajax({
// append (new Date()).getTime() to url to prevent session timeout
url:"http://your_url_here/controller/method/" + graphID + "/" + (new Date()).getTime(),
success: function(data){
// data should now contain the graph HTML for the new generated graph
// simply put this html into the graph div
$('#graph').html(data);
}
});
});
});
</script>
<!-- HTML example below -->
<select name="graphList">
<option value="1">Graph 1</option>
<option value="2">Graph 2</option>
<option value="3">Graph 3</option>
</select>
<div id="graph">
</div>