Saturday, January 31, 2015

CakePHP autocomplete tutorial ajax error

Hi,

In CakePHP, I am trying to create a autocomplete function from a textbox, using this tutorial: http://bakery.cakephp.org/articles/matt_1/2011/08/07/yet_another_jquery_autocomplete_helper_2

I keep getting a Error: AutoCompleteHelper could not be found. Undefined index: autoCompleteText

I am unsure how to fix this as I have tried relocating the files and still the same error.

I create the below files and copy the code from the tutorial, create the auto_complete.php in the view/helpers directory, and create webroot/js/views/helpers/auto_complete.js.

controller - Tests function auto_complete

class TestsController extends AppController {

public $helpers = array('Html', 'Form', 'Session','Js','AutoComplete');

 
public function auto_complete() {
 $this
->loadModel('Tutor');
 debug
( $this->params);


    $terms
= $this->Tutor->find('all', array(
       
'conditions' => array(
           
'Tutor.first_name LIKE' => $this->params['url']['autoCompleteText'].'%'
       
),
       
'fields' => array('Tutor.first_name'),
       
'limit' => 3,
       
'recursive'=>-1,
   
));
    $terms
= Set::Extract($terms,'{n}.Tutor.first_name');
    $this
->set('terms', $terms);
    $this
->layout = '';    
}


view
 auto_complete
.ctp



<?php 
echo $this
->AutoComplete->input(
   
'Tutor.first_name',
    array
(
       
'autoCompleteUrl'=>$this->Html->url(
            array
(
               
'controller'=>'tests',
               
'action'=>'auto_complete',
           
)
       
),
       
'autoCompleteRequestItem'=>'autoCompleteText',
   
)
);

 
if(isset($terms)) {
    echo $this
->Js->object($terms);
 
}

       echo $this
->Form->create('');

            echo $this
->Form->input('type', array('label' => 'Choose' ));
           echo $this
->Form->end('send');

 
?>



--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: