2011-08-18 22 views
0

ここに問題があります:Fancybox - 子ファンシーボックス内から親ウィンドウのグローバル変数を設定する

全体的な開発はRuby on railsを使用して行われています。しかし、ビューは主にhtmlとjQueryで構成されています。現在のところ、ユーザーがテキストフィールドに入力すると、その下にある小さな「おすすめ」ボタンを押して、Google Suggest APIによって提供される便利な検索用語のリストがあるFancyboxを開くように設定しています。これはすべてセットアップされて動作しています。今度は、これを次のステップに進めたいと思います.Fancyboxの内側から、ユーザーが候補の1つをクリックして、親ウィンドウ内の最初に入力されたフレーズを置き換えます。残念ながら、私はまだAJAXの使用に熟達していないので、私はjavascriptでこれをやろうとしています。これは私がこれまで持っているものです。

親ウィンドウで:fancyboxの内部でレンダリングされた部分図で

<script type="text/javascript"> 
    $(document).ready(function() { 
     var $_returnvalue = false; 
     $('.suggest_link').fancybox({ 
      onClosed: function(){ 
      alert($_returnvalue); 
      if ($_returnvalue != false) 
      { 
      // I will be setting the textbox value here. 
      } 
     } 
    }); 
</script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    var $_fancyvalue = false; 
    $(".suggestion").click(function(){ 
     alert(parent.$_returnvalue); 
     parent.$_returnvalue = $(this).text(); 
     $.fancybox.close(); 
    }); 
}); 
</script> 

申し訳ありませんが、この記事で奇妙なものがある場合。ここで質問をするのは初めてです。

答えて

1

var $_returnvalueを親ウィンドウのグローバルスコープに定義します。これを試しても問題ありません。

var $_returnvalue = false; 

$(document).ready(function() { 
     $('.suggest_link').fancybox({ 
      onClosed: function(){ 
      alert($_returnvalue); 
      if ($_returnvalue != false) 
      { 
      // I will be setting the textbox value here. 
      } 
     } 
    }); 
+0

ありがとうございました。 Document ready機能の中に置くと、そのスコープの内部にしか置かれていなかったと思います。 –

+0

はい、スコープはレディ機能内にありました。 – ShankarSangoli

関連する問題