2011-01-13 13 views
1

Ich weiß, dass wäre wahrscheinlich die dümmste Frage zu stellen, aber es ist ein verzweifelter Versuch von einem UI Kerl, etwas zu tun ... Ich habe einige Werte aus einer JSON-Datei, und dann ich Ich übergebe diese Werte, um einen Graphen mit jflot zu zeichnen.Pass Variablenwert außerhalb einer Schleife

// Script

function plot4() { 
    $.getJSON("wc.json",function(data){ 
     $.each(data.posts, function(i,data){ 
      var wc = data.title; 
      alert(wc); 
     }); 
    }); 

    function drawPlot() { 
     alert(wc); 
     // function which draws plot using jFlot using a huge dataset 
    } 
} 

Ist es in Ordnung, dass ich die getJSON Datei außerhalb der drawPlot Funktion wickeln ?? .. pls Beratung

+0

Gerade FYI: Ich entfernte die 'jQuery' und' JSON' Tags als der Geist dieser Frage dreht sich um grundlegende Javascript Nutzung; jQuery & JSON sind in diesem Zusammenhang irrelevant. – ken

Antwort

1

Nein, weil Sie wc (via var wc) erklären in sein der Umfang des "jeden" Blocks.

tun, was Sie wollen, müssen Sie entweder:

  1. bewegen wc, um den Umfang

    function plot4() { 
        var wc; 
        $.getJSON("wc.json",function(data){ 
         $.each(data.posts, function(i,data){ 
          wc = data.title; 
    
  2. oder beide Funktionen enthält, wenn Sie tatsächlich wollen drawPlot rufen von Ihrem each Schleife (Sie scheinen nicht alles zu nennen!), Übergeben wc als Parameter zu ihm

    // ... some other code 
         var wc = data.title; 
         drawPlot(wc); 
    // ... some other code 
    
    function drawPlot(wc) { 
        alert(wc); 
        // function which draws plot using jFlot using a huge dataset 
    } 
    
+0

Dank ein Haufen .... meine Grundlagen mit Javascript sind alle falsch .. :-( – Sullan

1

Was stimmt nicht mit Parametern?

function plot4() { 
    $.getJSON("wc.json",function(data){ 
     $.each(data.posts, function(i,data){ 
      var wc = data.title; 
      drawPlot(wc); 
     }); 
    }); 

    function drawPlot(wc) { 
     // function which draws plot using jFlot using a huge dataset 
    } 
} 

... oder:

function plot4() { 
    $.getJSON("wc.json",function(data){ 
     $.each(data.posts, function(i,data){ 
      var wc = data.title; 
      drawPlot(wc); 
     }); 
    }); 
} 

function drawPlot(wc) { 
    // function which draws plot using jFlot using a huge dataset 
} 
Verwandte Themen