Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递变量的放大弹出窗口_Javascript_Jquery_Magnific Popup - Fatal编程技术网

Javascript 传递变量的放大弹出窗口

Javascript 传递变量的放大弹出窗口,javascript,jquery,magnific-popup,Javascript,Jquery,Magnific Popup,我在试着让它包含一些表单。我想通过html锚把变量传递到最终的弹出窗口。 在该伪代码中为Var1: <!-- 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

我在试着让它包含一些表单。我想通过html锚把变量传递到最终的弹出窗口。 在该伪代码中为Var1

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

$(文档).ready(函数(){
$('.open_popup_link')。放大弹出({
类型:'inline',
点击中键:对,
函数(){
**这里有一些设置Var1=X的神奇代码**
$('#myVar').attr('value',函数(i,attr){
返回attr.replace(“[placeholder]”,Var1);
});}
});
});
我需要这个,因为我将生成服务器端(w.PHP)启动器,以便每个链接将生成不同的表单数据

编辑:我当时认为的一种方法是在启动器中使用自定义属性,例如:

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

但是,我无法真正获得正确的jQuery语法来将属性处理嵌套在放大的弹出式序列化中。 我的js/jquery知识非常基础,谢谢你的提示。

试试:

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

$(文档).ready(函数(){
$('.open_popup_link')。放大弹出({
类型:'inline',
点击中键:对,
函数(){
**这里有一些设置Var1=X的神奇代码**
Var1=$('#myVar').val();
});}
});
});

不太确定使用
Var1
的目的是什么,但这就是从全局
Var1
变量的输入中获取值的方式


如果我不明白你想做什么,请告诉我

在放大弹出设置之外使用一个单独的点击处理程序怎么样?只要确保在初始化插件之前绑定它,它就会在点击链接时更改输入值

HTML

使用正确建议的数据属性

<a href="#test-popup" data-var1="X" class="open-popup-link">Show inline popup</a>
$('.open-popup-link').click(function(){
    $('#myVar').val($(this).data('var1'));
});

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