Fancybox - установка глобальной переменной родительского окна из дочернего fancybox - PullRequest
0 голосов
/ 19 августа 2011

Здесь есть проблема:

Общая разработка выполняется с использованием Ruby на рельсах;Тем не менее, представления состоят в основном из HTML и JQuery.В настоящее время он настроен так, что когда пользователь вводит текстовое поле, он может нажать небольшую кнопку «предложить» под ним, которая открывает Fancybox, где есть список полезных поисковых терминов, предоставляемый Google Suggest API,Это все настроено и работает.Теперь я хочу перейти к следующему шагу, где пользователи Fancybox могут щелкнуть одно из предложений, и оно заменит изначально введенную фразу в родительском окне.К сожалению, я еще не умею использовать AJAX, поэтому я пытаюсь сделать это с помощью JavaScript.Это то, что у меня пока есть:

В родительском окне:

<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>

В частичном представлении, отображаемом внутри fancybox:

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

Извините, если естьчто-нибудь странное с этим постом.Я впервые задаю вопрос здесь.

1 Ответ

1 голос
/ 19 августа 2011

Определите 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.
          }
       }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...