2012-02-11 89 views
0

我想要做这样的事情。cakephp Js助手

如果我点击一些,它会显示另一个DIV (id='#busy-indicator')

我写了以下内容,但它不起作用。

$this->Js->get('#some-link')->event('click', $this->Js->get('#busy-indicator')->effect('fadeIn')); 

什么应该纠正才能使它工作?

它生成以下输出。

$(document).ready(function() { 
    $("#busy-indicator").bind("click", function (event) { 
     $("#busy-indicator").fadeIn(); 
     return false; 
    }); 
}); 
+0

你是否包括jQuery的?它不会被CakePHP自动包含。此外,使用'$ this-> Js-> writeBuffer();'在视图/布局的底部检查是否正在编写JavaScript缓存。 – 2012-02-11 20:29:33

+0

是的,我已经包含了jQuery和$ this-> Js-> writeBuffer();已经在布局的底部。 – gautamlakum 2012-02-12 07:22:00

回答

1

您可以使用这样的 “两步走” 的解决方案:

$event = $this->Js->get('#busy-indicator')->effect('fadeIn'); 

$this->Js->get('#some-link')->event('click', $event); 

这是HTML输出:

$(document).ready(function(){ 
    $("#some-link").bind("click", function(event) { 
    $("#busy-indicator").fadeIn(); 
    return false; 
    }); 
});