2016-10-20 6 views
0

responsementionsInput()メソッドから抽出し、このメソッドの外で使用したいと考えていますが、この変数にalert()を入力すると空です。jqueryメソッドから変数を抽出する

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); 
}); 

ありがとうございました。

+0

'alert()'を関数の中に入れますか? –

+0

なぜでしょうか? 'var response = $(el).val();警告(応答); '何のためのコールバックですか? – adeneo

+0

私は、問題はあなたがメソッドの中の可変応答を宣言していると思います。 Clousureを使用して、メソッドの外部で変数レスポンスを宣言し、その内部に代入します。私はこれが動作するとは確信していないが、それは試しです。 – Pievis

答えて

1

あなたは今それを持っているとして、responseはあなたのmentionsInput法の範囲内ではなく、それ以外でのみ使用可能です。あなたのコードを実行するときに

はまた、私は次のエラーを参照してください。

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

はあなたがjquery.mentionsInput UI componentを正しくロードされましたか?このエラーが発生した場合は、まずこのエラーを解決する必要があります。

次に、メソッドの前後に変数responseを宣言してから、mentionsInputに設定する必要があります。 responseに設定された値は、alertコールと同じ有効範囲で使用できるようになります。

+0

私は外で宣言したが、それはまだ – simo9900

+0

VAR応答を働きません;。 \t \t \t \t $(」 textarea.mention1 ')mentionsInput。(' ヴァル」、関数(テキスト){ \t \t \t \t VAR応答=テキスト; \t \t \t \t}); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \tアラート(応答)。 – simo9900

+0

@ simo9900私はさらにデバッグのために編集しました。 – jacefarm

0

私は、これはトリックを行うべきだと思う:

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

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

      alert(response); 

     }); 
+0

はありません方法は、この$( 'textarea.mention1')のようになりましたmentionsInput( 'ヴァル'、機能(テキスト){ – simo9900

関連する問題