我正在使用fancxbox,可以将变量从fancybox子传回父级。
在子页面中有一个名为banner_width1
(<input name="banner_width" id="banner_width1" type="text" size="5" value="1000"/>
)
'onClosed':function()
{
alert($("#banner_width1").val());
var x = $("#fancybox-frame").contentWindow.targetFunction();
alert(x.val());
}
答案 0 :(得分:6)
如果您使用的是fancybox v1.3.4,那么您将无法使用.val()
回调获取值onClosed
,因为onClosed
将在所有fancybox中执行内容已被删除。您更愿意使用onCleanup
(在关闭fancybox之后仍然可以提醒x
的值)
因此,对于Fancybox v1.3.4 ,请使用此API选项
"onCleanup": function(){
x = $('#fancybox-frame').contents().find('#banner_width1').val();
},
"onClosed": function(){
alert("the value of input#banner_width1 is : "+x); // optional
}
确保您已在脚本之上声明var x;
,以便可以从任何回调或任何其他功能访问它。
for Fancybox v2.x 使用此API选项
beforeShow : function(){
x = $('.fancybox-iframe').contents().find('#banner_width1').val();
},
afterClose: function(){
alert("the value of input#banner_width1 is : "+x); // optional
}