2012-09-28 67 views
-1

我正在开发酒店预订和预订管理系统。将自定义参数传递给FancyBox

我有一系列场地,其中用户通过一个单选按钮进行选择。一旦他们选择了地图按钮,我想将场地名称,经度和纬度数据发送到Fancy Box窗口,这样Google Maps就可以开始确定路线数据的过程,这使得具体使用a route planning tutorial

我试过......

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功能,但他们不旅行的任何进一步。

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

+0

我不知道的fancybox可能会或可能不会与他们无关,这就是为什么我在这里。我曾希望它会通过它们,因为我没有理由认为它不会。 –

+0

我不得不放弃FancyBox并使用不同的东西,因为无法传递参数是一个完全的杀手。 –

回答

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) 
    } 
}); 
+1

我不想将它们作为URL的参数发送。有没有办法直接将它们作为变量发送,还是我需要探索其他一些生成弹出窗口的方法? –

0

我知道这是旧的,但我想它可能会帮助别人。希望你有一切正常工作。

该API的fancybox有看起来像这样一个开放的方法:

$.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); 
} 

这里的HTML链接的用户会点击触发的fancybox:

<a onclick="displayFancybox('some text', 'some more text');" href="#" title="Some Title">Click Me!</a> 
相关问题