Операция CakePHP Js-> get() в div

#jquery #cakephp

#jquery #cakephp

Вопрос:

Я читаю руководство CakePHP о реализациях Js, и я пытаюсь запустить некоторый jQuery в div, но, на мой взгляд, я не могу заставить его работать. У меня подключены все мои помощники и jQuery.

В качестве теста я просто пытаюсь заставить этот элемент исчезнуть в:

 $this->Js->get('#resultsWrapper');
$this->Js->effect('fadeIn');

<div id="resultsWrapper">THIS IS A FADE IN TEST</div>
  

Загружается в обычном режиме..

Комментарии:

1. Пожалуйста, покажите в своем коде, как вы включаете jQuery.

2. bin.cakephp.org/view/179167123

3. Действительно ли javascript получает выходные данные в браузер? Где? Правильно ли он отформатирован?

4. Росс, нет, проблема в том, что я не могу заставить его выводиться в исходный код браузера. Но если я повторяю это с помощью php, это отображается правильно (но не в исходном коде).

Ответ №1:

Убедитесь, что элемент display: none;

Это позволит ему фактически исчезать, а не просто загружаться

Комментарии:

1. Я могу повторить это: …$this-> Js-> effect(‘fadeIn’); и это выводится на экран, но если я не повторяю это, это не отображается в исходном коде??

2. где вы ее запускаете. Вам нужно запустить его в вашем представлении, а не в вашем контроллере. Также вы хотите запустить его после добавления элемента в DOM, поэтому вызовы должны выполняться после html

3. я запускаю ее в своем search.ctp. действие search() находится в plans_controller. я не могу заставить скрипт отображаться, независимо от того, что я делаю до сих пор .. если пробовал это и по умолчанию — никаких кубиков.

4. я запускаю это в своих представлениях?? я тестировал в макете по умолчанию и в режиме поиска.

Ответ №2:

Я решил эту проблему, изменив синтаксис вызова прототипа. Похоже, что предложенный в руководстве get() не работает должным образом (по крайней мере, судя по многочасовым экспериментам, которые я проводил)..

Вот как я решил эту проблему: (обратите внимание на разделы загрузки и успеха).

  <?php 
   echo $ajax->submit('Submit', 
     array('url'=> array('controller'=>'records',
    'action'=>'add'), 'update' => 'ajax_div', 
    'evalScripts' => true,
    'loading' => 'Element.show('busy-indicator')',
    'success' => 'Element.hide('busy-indicator')'
    ));
  ?>