2010-02-07 47 views
0

希望这里有一个简单的问题。在Thickbox中嵌入时更新IFRAME src

我正在运行一个Wordpress博客,其中有一堆指向不同城市的链接,这些链接指向Google地图上的某个位置。

我当前的设置涉及每个链接都有一个iframe,并且当点击时iframe会弹出一个厚框。

既然我的城市清单已经增长,我有很多很多iframe在页面加载时被预加载到幕后....这是一个问题。

我的想法是让每个链接都更新iframe的src,但我认为我的thickbox正在抛弃它。

这是JavaScript代码,我试图用更新的链接..

document.getElementById('map_frame').src = new_url; 

这里将是一个相关链接,就会触发这个...

<li class="sub_li"> 
    <a href="#TB_inlinemodalContent?height=700&width=500&inlineId=map_frame" onclick="switch_map('bregenz');" title="Bregenz, Austria" class="thickbox">bregenz</a> 
</li> 

其中, new_url通过一个大的switch语句来填充(并且通过使用跟踪调试,我知道至少可以这样做)。

但是,当灯箱弹出时,所显示的地图永远不会改变......它只是我预先加载的初始地图。

回答

1

可能的ThickBox的删除你的onclick处理程序,你应该代替的是,代码添加到您的点击处理程序添加到另一个上下文的联系,如:

<script type="text/javascript"> 
$(function() { //when the document is ready 
    $('a.thickbox').bind('click',function() { //bind a click handler all the a elements with thickbox class 
    switch_map($(this).attr("title")); //execute your function 
    }); 
}); 
</script> 

而不是获取title属性,你可以添加一个名为“value”或“city”的新名称,并在其中添加要传递给switch_map函数的值。 我假设您可以使用jQuery来执行此操作。