2011-01-04 6 views
7

नमस्ते मैं सोच रहा था कि बच्चे को बंद होने के बाद फैंसीबॉक्स बच्चे से माता-पिता को एक चर वापस पास करना संभव है?फैंक्सबॉक्स - फेंसीबॉक्स विंडो बंद होने पर वैरिएबल को वापस ले जा रहा है

किसी भी जानकारी की बहुत सराहना की जाती है।

सादर,

फिल

संपादित करें **

function cleanUp(){ 
    var bla = $("#fancybox-frame").contents().find('input[name=pd_id]'); 
    alert(bla.val()); 
} 
$("#tree .product a[class!=copy]").fancybox({ 
    'width'    : 770, 
    'height'   : '95%', 
    'autoScale'   : false, 
    'transitionIn'  : 'none', 
    'transitionOut'  : 'none', 
    'type'    : 'iframe', 
    'onCleanup'   : cleanUp 
}); 
+2

जब क्रेडिट देय होता है तो मैं हमेशा करता हूं। अगर मेरे प्रश्न का कोई जवाब नहीं है तो मैं प्रतिशत दर को खुश करने के लिए बस किसी भी यादृच्छिक पर क्लिक नहीं करूंगा। हो सकता है कि यह 'टिक' पर क्लिक करने में सक्षम होने के ज्ञान की कमी के प्रति आलोचना नहीं है, बल्कि खराब उत्तरों की मात्रा के प्रति आलोचना है। मैं हमेशा क्रेडिट देता हूं जहां क्रेडिट देय होता है। –

उत्तर

2

आप fancybox api में देख सकते हैं: onClosed... Will be called once FancyBox is closed

$('.overlay').fancybox({ 
    onClosed: function() { 
     var bla = $('#targetFrame')[0].contentWindow.targetFunction(); 
    } 
}); 

कोई बच्चा खिड़की/आईफ्रेम नहीं है, बॉक्स बस एक बिल्कुल स्थित div है। यह पृष्ठ के समान डोम में है।

+0

मैं समझता हूं कि आपने क्या रखा है, लेकिन यह मुझे बस कुछ करने या फंक्शन ऑनक्लोज़/क्लीनअप/ओपन कॉल करने की अनुमति दे रहा है ... यह वास्तव में बच्चे की खिड़की से एक varibal नहीं मिल रहा है। और माता-पिता के भीतर इसका उपयोग करना। मैं बच्चे से एक परिवर्तनीय वापस पास करने के लिए देख रहा हूँ। –

+0

सुनिश्चित नहीं है कि jQuery समतुल्य क्या है लेकिन आप iframe तक पहुंचने के लिए .contentWindow का उपयोग कर सकते हैं। ऊपर मेरा संपादन देखें। – Keyo

+1

पहले संपादन के बाद हाय धन्यवाद काम नहीं किया, मैंने पूरी तरह से फ़ंक्शन को कॉल किया और मेरे var cheers के लिए DOM को accesed (मेरा समाधान मेरे मूल प्रश्न में है)। –

5

माता-पिता में, मैं

var $_returnvalue = false; 

को परिभाषित करने और onClosed इस तरह दिखता है:

onClosed: function() { 
    if ($_returnvalue != false) 
    { 
     // Do something in the parent 
    } 

और fancybox पेज में, जब कुछ वापस करने के लिए तैयार है, मुझे लगता है कि मूल्य करने के लिए सेट माता-पिता। $ _ वापसी मूल्य और फिर बॉक्स को बंद करें। यह किसी सूची से कुछ चुनने और कॉलिंग पृष्ठ पर उस मान को वापस करने के लिए अच्छा काम करता है।

+0

अच्छी तरह से काम करता है। यदि कोई फेंसीबॉक्स 2 का उपयोग कर रहा है, तो उसने फ़ंक्शन को 'ऑनक्लोस्ड' से 'afterClose' में बदल दिया है। – Raptor

संबंधित मुद्दे