1

我在我的 Rails 应用程序中使用 Jquery Boxy。

我用过

function rateboxy(id){
    var box = new Boxy(jQuery('#rate_'+id),{
    title: "Rate",
    draggable: false,
    closeable: true,
    center: true,
    modal: true
    });
    return false;
  }

我有一个 div

<div id="rate_<%= blog.id%>" style="display:none">
....
<div>

每次点击链接时

<%= link_to "Rate","#",:onclick=>"rateboxy('#{blog.id}');" %>

它打开一个四四方方的模态。我在 boxy 中有一些更新函数,它将用它的响应更新 div 内的 html。

但是当我多次点击链接时。每次它都会创建一个具有相同 id 的新 boxy ,因此它不会更新旧打开的 boxy ,这是我在 firebug 中发现的。如何解决这个问题。

4

1 回答 1

0

现在,每次在 rateboxy() 函数中单击链接时,您都会创建一个新的 Boxy 元素。

将您的 div 声明移到函数之外:

var box = new Boxy(jQuery('#rate_'+id),{
    title: "Rate",
    draggable: false,
    closeable: true,
    center: true,
    modal: true
    });

然后让您的链接只切换现有 div 的可见性。不确定rails,但在jQuery中,这将是:

function rateboxy(id){    
 jQuery("#"+id).toggle();
}
于 2011-11-23T09:01:44.340 回答