2012-09-28 243 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> 
相關問題