-1

我正在开发一个酒店预订和预订管理系统。

我有一系列场地,用户通过单选按钮选择。一旦他们选择了地图按钮,我想将场地名称、经度和纬度数据发送到 Fancy Box 窗口,以便 Google Maps 可以开始确定路线数据的过程,具体使用路线规划教程

我试过了...

function fancyboxLocation(href, venue, lo, la) {
   $.fancybox({
       'hideOnContentClick': true,
       'height': 430,
       'padding': 0,
       'width': 700, 
       'type': 'iframe',
       'href' : href,
       'venue': venue,
       'lo': lo,
       'la': la
   });
}

<a href="javascript:;" onclick="fancyboxLocation('<?php echo config_item('base_url'); ?>venues/locations/route', '<?php echo $venues['name']; ?>', '<?php echo $venues['longitude']; ?>', '<?php echo $venues['latitude']; ?>')" title="Plan Route">

虽然出现了窗口,但我的个人参数(地点、lo 和 la)正在被删除。

这些参数正在进入fancyboxLocation 函数,但它们没有进一步移动。

任何想法我如何做到这一点?

4

3 回答 3

1

也许你可以调用 ajax 内容

$.fancybox({
    'hideOnContentClick': true,
    'height': 430,
    'padding': 0,
    'width': 700, 
    'type': 'iframe',
    'href' : href,
    'ajax' : {
        type    : "POST",
        data    : 'venue='+escape(venue)+'&lo='+escape(lo)+'&la='+escape(la)
    }
});
于 2012-09-28T14:52:37.920 回答
1

// 文档准备好

const fancyFunction = (elementEvent) => {
    const cta = elementEvent.data('cta');
    elementEvent.fancybox({
        autoSize: false,
        autoPlay: true,
        width: 510,
        autoHeight: true,
        beforeLoad: () => {
            console.log('beforeLoad', cta);
        }
    });
};

$('.fancy-domec').each((i, e) => {
    fancyFunction($(e));
});

// 在 HTML 上

    <div class="ctas">
        <p><a href="#fancy-domec" class="fancy-domec" data-cta="add">Add something</a></p>
        <p><a href="#fancy-domec" class="fancy-domec" data-cta="check">Check something</a></p>
    </div>
于 2018-07-19T08:46:38.453 回答
0

我知道这很旧,但我认为它可能对其他人有所帮助。希望你一切正常。

FancyBox API 有一个如下所示的 open 方法:

$.fancybox( [jQuery object] );

因此,您可以使用上述方法创建一个类似于以下的简单 javascript 函数。例如:

function displayFancybox(param1, param2) {
     // Open FancyBox
     $.fancybox(document.getElementById("myFancyBoxContainer"));

     // Do whatever you want with your parameters (maybe write them to a div)
     document.getElementById("someDiv").innerHTML = param1;

     // Or maybe initialize a google map
     initialize(param1, param2);
}

这是用户单击以触发 FancyBox 的 html 链接:

<a onclick="displayFancybox('some text', 'some more text');" href="#" title="Some Title">Click Me!</a>
于 2013-05-24T05:25:47.967 回答