我正在学习cakephp 2.0并尝试使用Ajax。我已经成功创建了一个使用ajax的表单。现在我需要处理链接。我想要做的是通过点击链接淡化div。
<?php $this->Js->get('#Edit-link')->event('click',$this->Js->get('#sending')->effect('fadeIn'));?>
此代码无效并在javascript下生成
$("#sending").bind("click", function (event) {$("#sending").fadeIn();
return false;});
$("#sending").bind("click", function (event) {$("#sending").fadeIn();
return false;});
$("#sending").bind("click", function (event) {$("#sending").fadeIn();
return false;});
$("#sending").bind("click", function (event) {$("#sending").fadeIn();
return false;});
答案 0 :(得分:1)
您发布的所有代码似乎都是正确的。 JsHelper应该输出你所包含的jQuery脚本,除了它打印了4次,这可能是由于在第一个函数中第二次调用$this->Js->get()
。
什么不能正常工作?是否正确加载了jQuery库as per the documentation?
此脚本需要存在标识为#sending
的链接。它也不会阻止链接的正常行为(遵循href
属性中的url),这会重新加载页面并停止正确发生的任何JavaScript效果或操作。通常,您会在jQuery函数中包含event.preventDefault()
以防止这种情况(see the documentation here)。你能为你的观点提供完整的代码吗?
此外,在jQuery语法中直接编写这种类型的脚本可能更为可行,在这种情况下,Cake方式会增加更多的抽象,这对于小项目来说可能是不必要的。