2012-01-09 2 views
1

나는 cakephp 2.0을 배우고 있으며 Ajax에서 작업하고있다. 성공적으로 아약스와 함께 작동하는 양식을 만들었습니다. 이제 링크를 사용해야합니다. 내가하고 싶은 것은 링크를 클릭하여 div를 약화시키는 것입니다.케이크 PHP JS 도우미

<?php $this->Js->get('#Edit-link')->event('click',$this->Js->get('#sending')->effect('fadeIn'));?> 

이 코드가 작동하고 당신이 게시 한 모든 코드가 올바른 것으로 보인다 자바 스크립트

$("#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;}); 

답변

1

아래에 생성되지 않습니다. JsHelper는 첫 번째 함수 내에 $this->Js->get()에 대한 두 번째 호출이 원인 일 가능성이 있기 때문에 포함 된 jQuery 스크립트를 4 번 인쇄한다는 점을 제외하고는 jQuery 스크립트를 출력해야합니다.

정확히 작동하지 않는 것은 무엇입니까? jQuery 라이브러리가 올바르게로드 되었습니까? as per the documentation?

이 스크립트는 ID가 #sending 인 링크가 있어야합니다. 또한 페이지가 다시로드되고 JavaScript 효과 또는 작업이 제대로 수행되지 않도록 중단하는 링크의 정상적인 동작 (href 속성의 url 다음)을 방지하지 않습니다. 일반적으로 이것을 방지하기 위해 jQuery 함수 안에 event.preventDefault()을 포함합니다 (see the documentation here). 보기에 완전한 코드를 제공 할 수 있습니까?

또한이 유형의 스크립트를 jQuery 구문에 직접 작성하는 것이 더 쉬울 수도 있습니다.이 경우 케익 방식은 작은 프로젝트에서는 불필요한 추상화를 추가합니다.

+0

실제로이 JS $ ("# Edit-link")를 생성하고 싶습니다. bind ("click", function (event) {$ ("# sending") .fadeIn(); return false;}) ; 하지만 생성 된 자바 스크립트가 –

+0

인데,'$ this-> Js-> get ('# Edit-link') -> event()'의 세 번째 매개 변수로'false'를 추가하여 코드를 실행하면 원하는 스크립트. 추가하지 않으면 라인을 인쇄하지 않으며 4 번 연속으로 수행하지도 않습니다. 루프 어딘가에 포장되지 않았습니까? – mensch

+0

당신은 의미합니까 Js-> get ('# Edit-link') -> 이벤트 ('클릭', $ this-> Js-> get ('# sending') -> 효과 ('fadeIn' ;?> 나는 foreach 루프에 있었지만 거기에서 제거했습니다. 하지만 '거짓'을 넣어 자바 스크립트를 생성하지 않습니다. 나는 그것의 바로 위에 또 다른 JS 호출을 가지고있다. Js-> link ('모든 게시물보기', 'http : // localhost/practice/cakephp/posts/ajaxcall', 배열 ( 'update' => '# content2', 'htmlAttributes'=> 배열 ('other'=> 'value') ));?> 잘 작동합니다. –