以下是手头的问题:
使用Ruby on rails进行整体开发;但是,视图主要由html和jQuery组成。目前,我进行了设置,以便当用户输入文本字段时,他们可以在其下方按下一个小“建议”按钮,这会打开一个Fancybox,其中有一个由Google Suggest API提供的有用搜索字词列表。这一切都已建立并正常运行。现在我想把它带到下一步,从Fancybox内部,用户可以点击其中一个建议,它将替换父窗口中最初输入的短语。可悲的是我还不擅长使用AJAX,所以我试图通过javascript来做到这一点。这就是我到目前为止所做的:
在父窗口中:
<script type="text/javascript">
$(document).ready(function() {
var $_returnvalue = false;
$('.suggest_link').fancybox({
onClosed: function(){
alert($_returnvalue);
if ($_returnvalue != false)
{
// I will be setting the textbox value here.
}
}
});
</script>
在fancybox内部渲染的局部视图中:
<script type="text/javascript">
$(document).ready(function() {
var $_fancyvalue = false;
$(".suggestion").click(function(){
alert(parent.$_returnvalue);
parent.$_returnvalue = $(this).text();
$.fancybox.close();
});
});
</script>
对不起,如果这篇文章有什么奇怪的话。这是我第一次在这里提问。
答案 0 :(得分:1)
在父窗口的全局范围中定义var $_returnvalue
。试试这个它会正常工作。
var $_returnvalue = false;
$(document).ready(function() {
$('.suggest_link').fancybox({
onClosed: function(){
alert($_returnvalue);
if ($_returnvalue != false)
{
// I will be setting the textbox value here.
}
}
});