2010-12-10 9 views
1

Am Erstellen einer Diagramm-Anwendung in Jsp ... Ich speichere Formularwerte in Javascript-Variablen und ich muss diese Werte an jQuery Highchart-Variablen übergeben .... bitte kann mir jemand helfen, wie dies zu tun ist ..Javascript und jQuery

hier ist meine Javascript-Funktion in 'home.jsp':

function printValues(oSel) 
       { 
        plant=document.getElementById("plantId"); 
        plant_text=plant.options[plant.selectedIndex].text; 
        plant_value=document.getElementById("plantId").value; 

       period=document.getElementById("periodId"); 
       period_text=period.options[period.selectedIndex].text; 
       period_value=document.getElementById("periodId").value; 

        interval=document.getElementById("intervalId");      interval_text=interval.options[interval.selectedIndex].text;      
       interval_value=document.getElementById("intervalId").value; 


       len=oSel.options.length;      
       for(var i=0;i<len;i++) 
       { 
        if(oSel.options[i].selected) 
        {        
         data+="\n"+ oSel.options[i].text + "["+ "\t" + Sel.options[i].value + "]";        
        } 
       } 
       if(data!="") 
       { 
        alert("The selected Items are :" + data); 
       } 
       else 
       { 
        alert("There are no selected items"); 
       } 

       title=document.chart.chartTitle.value; 
      } 

und meiner barchart.jsp Datei folgenden Code hat:

  var chart; 
     $(document).ready(function() { 
     $('.barchart').click(function(barTitle) { 
      chart = new Highcharts.Chart({ 
       chart: { 
        renderTo: 'container', 
        defaultSeriesType: 'column' 
       }, 
       title: { 
        text: 'Monthly Average Rainfall' 
       }, 
       subtitle: { 
        text: 'Source: WorldClimate.com' 
       }, 
       xAxis: { 
        categories: [ 
         'Jan', 
         'Feb', 
         'Mar', 
         'Apr', 
         'May', 
         'Jun', 
         'Jul', 
         'Aug', 
         'Sep', 
         'Oct', 
         'Nov', 
         'Dec' 
        ] 
       }, 
       yAxis: { 
        min: 0, 
        title: { 
         text: 'Rainfall (mm)' 
        } 
       }, 
       legend: { 
        layout: 'vertical', 
        backgroundColor: '#FFFFFF', 
        align: 'left', 
        verticalAlign: 'top', 
        x: 100, 
        y: 70, 
        floating: true, 
        shadow: true 
       }, 
       tooltip: { 
        formatter: function() { 
         return ''+ 
          this.x +': '+ this.y +' mm'; 
        } 
       }, 
       plotOptions: { 
        column: { 
         pointPadding: 0.2, 
         borderWidth: 0 
        } 
       }, 
        series: [{ 
        name: 'Tokyo', 
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 

       }, { 
        name: 'New York', 
        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3] 

       }, { 
        name: 'London', 
        data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2] 

       }, { 
        name: 'Berlin', 
        data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1] 

       }] 
      }); 
     }); 
        }); 

ich brauche diesen Titel passieren, plant_value, period_valu e, um Titel, xaxis, yaxis Variable ... zu zeichnen, kann mir bitte jemand helfen, wie man Javascript-Werte zu jquery variablen Werten übergibt?

Dank im Voraus

+0

Pardon, aber was eine ist '.jsp' Datei? Ich kenne Java Server Pages, aber das ist eine ganz andere Geschichte. Alles, was ich hier vermisse? – aefxx

+0

@aefxx: Was wir sehen, ist nur ein Teil einer Java Server Pages Datei. – darioo

+0

@darioo Inline-Skripting, das ist? Danke für die Klärung. – aefxx

Antwort

0

Ich bin mir nicht sicher, was passiert, wenn, kann aber nicht einfach title: {text: document.chart.chartTitle.value} und ähnliches verwenden? Auf diese Weise werden Sie immer die aktuellsten Daten in Ihrem Diagramm verwenden, wenn Sie auf den Artikel $ ('. Barchart') klicken.

Oder in jQuery Form zu bleiben, title: {text: $('form[name=chart] input[name=chartTitle]').val()}

Wenn schließlich 'title' et al. Sind globale Variablen, können Sie title: {text: title} verwenden. Beachten Sie, dass, wenn Sie title nicht als globale Variable deklariert haben, wenn printValues ​​sie setzt, eine globale Variable trotzdem eingeführt wird.

+0

wirklich danke stachelig .. Ihre Antwort hilft mir sehr ... aber beide sind in verschiedenen JSP-Seiten .. Javascript in 'home.jsp' und jQuery-Diagramm ist in 'barchart.jsp' ... – Maya

+0

Ok, dann schätze ich Sie müssen sie auf die gleiche Seite bringen :) Eigentlich scheint es, dass Sie nicht den Javascriptteil (die printValues ​​Funktion) benötigen, um zu tun, was Sie versuchen zu tun. Ist das HTML-Formular, das die Diagrammdaten enthält, auch im barchart.jsp verfügbar? –

+0

Nein. Es wird auf der gleichen Seite angezeigt, nachdem Sie auf die Schaltfläche Senden geklickt haben. Ich muss die ausgewählten "Daten" -Array-Werte an die Datenbank übergeben, um diese abgerufenen Werte in jquery chart an "series" übergeben zu können. Kannst du mir ein paar Ideen geben, wie ich Werte dynamisch übergeben muss ... – Maya