2016-10-20 4 views
0

Ich möchte die Variable response aus der mentionsInput()-Methode extrahieren und sie außerhalb dieser Methode verwenden, aber wenn ich eine alert() für diese Variable versuche, ist sie leer.Eine Variable aus einer jquery-Methode extrahieren

jQuery(document).ready(function() { 
    var choix = $('#choixaide').val(); 
    var choix_sous_theme1 = $('#choix_sous_theme1aide').val(); 

    $('textarea.mention1').mentionsInput('val', function(text) {     
     var response = text; 
    }); 

    alert(response); 
}); 

Danke für Ihre Hilfe.

+0

Setzen Sie die 'alert()' in die Funktion? –

+0

Uhh, warum nicht 'var response = $ (el) .val(); Alert (Antwort); "Für was ist der Rückruf? – adeneo

+0

Ich denke, das Problem ist, dass Sie die Variable Antwort innerhalb der Methode MentionsInput deklarieren. Versuchen Sie, eine Farbe zu verwenden, deklarieren Sie die Variablenantwort außerhalb der Methode und weisen Sie sie ihr zu. Ich bin nicht zuversichtlich, dass das funktionieren wird, aber das ist ein Versuch. – Pievis

Antwort

1

Wie Sie es jetzt haben, response nur im Rahmen Ihrer mentionsInput Methode ist, aber außerhalb davon nicht.

Zusätzlich wird, wenn der Code ausgeführt wird, sehe ich die folgende Fehlermeldung:

Uncaught TypeError: $(...).mentionsInput is not a function"...

Sind Sie sicher, dass Sie richtig die jquery.mentionsInput UI component geladen haben? Sie müssen zuerst für diesen Fehler auflösen, wenn Sie auch dies feststellen.

Dann müssen Sie die Variable response vor und außerhalb Ihrer mentionsInput-Methode deklarieren und dann innerhalb mentionsInput setzen. Der für response festgelegte Wert sollte dann im selben Umfang wie Ihr alert Anruf verfügbar sein.

+0

erkläre ich draußen, aber es funktioniert immer noch nicht – simo9900

+0

var Antwort;. \t \t \t \t $ (‘ textarea.mention1 ') mentionsInput. (' val‘, function (text) { \t \t \t \t var response = Text; \t \t \t \t}); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t alert (response); – simo9900

+0

@ simo9900 Ich habe für das weitere Debuggen bearbeitet. – jacefarm

0

ich denke, das den Trick tun sollten:

jQuery(document).ready(function() { 
      var choix = $('#choixaide').val(); 
      var choix_sous_theme1 = $('#choix_sous_theme1aide').val(); 

      var response = $('textarea.mention1').val(); 

      alert(response); 

     }); 
+0

die keine Methode hatte wie diese $ sein ('textarea.mention1') mentionsInput ('val', function (text) { – simo9900

Verwandte Themen