2016-05-13 12 views
-2

Hier ist mein jQuery-Code:Die globale Variable Zeile nicht funktioniert

$(document).ready(function() { 
    var row = []; 
    $('tr').click(function() { 
     $tds = $(this).find("td");    // Finds all children <td> elements 
     $.each($tds, function(index) {   // Visits every single <td> element 
      row[index] = $(this).text(); 
     }); 
     console.log(row[6]); // this has values 
    }); 
    console.log(row[6]); //this returns "undefined" 
}); 
+4

Natürlich ist es in dem Lastaufnahmemittel nicht definiert ist - Sie müssen nicht das Array, bis das Click-Ereignis auf dem 'tr' bevöl hat passiert ... Der Code funktioniert absolut gut. –

+0

Was genau versuchen Sie hier zu erreichen? – David

+0

versuchen für eine Schaltfläche Daten in der Zeile in einem weiteren Klick-Handler zugreifen ... aber ich bekomme einen undefinierten –

Antwort

0
$(document).ready(function(){ 

    var row = []; 

    $('tr').click(function(){ 
     $tds = $(this).find("td");    // Finds all children <td> elements 

      $.each($tds, function(index) {    // Visits every single <td> element 

        row[index] = $(this).text(); 

      });// end loop 


    /* 

     $.fn.returnRow = function(){ 
       console.log("row inside the anonymous:" +row); 
       return row; 
     } 
      console.log 


      */ 
      console.log("what does row "+row[6]); 
     $('#myModalLabel'+row[6]).text(row[0]); 


     }); 


    $('#save'+row[6]).click(function(){ 
     console.log(row[6]); 

       alert("You have clicked Send sms to:"+row[0]); 
       var message = $("#content"+row[6]).val(); 


         $.post("sendSms.php", 
         { 
          phoneNumber: row[0], 
          linkId: row[2], 
          message: message 

         },function(data,status){ 
          $('#save'+row[6]).html('Sent'); 
          console.log(data); 
          console.log(status); 


         }); 

    }); 

}); 
+0

hier ist der vollständige Code jetzt der row array scheint leer zu sein, wenn ich darauf (nach dem Klicken auf "tr") im zweiten Klick zugreife –