2013-07-28 3 views
5

Я пытаюсь сделать magnific popup содержать некоторые формы. Я хотел бы передать переменные через привязку html до последнего всплывающего окна. Как Var1 в этом псевдокоде:magnific-popup, проходящий переменную

<!-- HTML launcher element --> 
<a href="#test-popup?Var1=X" class="open-popup-link">Show inline popup</a> 

<!-- Popup itself --> 
<div id="test-popup"> 
    <form method="post" action=""> 
     <input type="hidden" id="myVar" name="Var1" value="[placeholder]" /> 
     <input type="submit" /> 
    </form> 
</div> 

<!-- Inizialization --> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.open_popup_link').magnificPopup({ 
     type:'inline', 
     midClick: true, 

      function() { 
       **Here some magic code that sets Var1 = X ** 
       $('#myVar').attr('value', function(i, attr){ 
       return attr.replace('[placeholder]', Var1); 
       });} 
     }); 
    }); 
</script> 

мне это нужно, потому что будет генерировать Serverside (ш РНР.) Пусковых установок, так что каждая ссылка будет генерировать различные данные формы.

редактировать: Один из подходов, я думал, чтобы использовать пользовательские атрибуты в пусковой установке, например:

<a href="#test-popup" data-var1="X" class="open-popup-link">Show inline popup</a> 

Но я не мог получить правильный синтаксис JQuery для гнездования обработки атрибутов ВНУТРИ Magnific-всплывающего окна inizialization. Знания js/jquery очень просты, поэтому спасибо за любой намек.

ответ

8

Как насчет использования отдельного обработчика щелчка вне настроек magnificPopup, что изменения стоимости вашего ввода всякий раз, когда ссылка щелкнули, просто убедитесь, чтобы связать его перед инициализацией плагин

HTML

Использование данные атрибуты, как правильно предположил

<a href="#test-popup" data-var1="X" class="open-popup-link">Show inline popup</a> 

Javascript

$('.open-popup-link').click(function(){ 
    $('#myVar').val($(this).data('var1')); 
}); 

$('.open_popup_link').magnificPopup({ 
    type:'inline', 
    midClick: true 
}); 
+0

Легко сексуально! работает как очарование! – Joram

0

Try:

Javascript/JQuery

<script type="text/javascript"> 
$(document).ready(function() { 

    $('.open_popup_link').magnificPopup({ 
    type:'inline', 
    midClick: true, 

     function() { 
      **Here some magic code that sets Var1 = X ** 
      Var1 = $('#myVar').val(); 
      });} 
    }); 
}); 

Не совсем уверен, что вы используете Var1 для, но это, как вы бы получить значение от входа в глобальный Var1 переменная.

Сообщите мне, если я не понимаю, что вы пытаетесь сделать правильно.

Смежные вопросы