Sunday, February 1, 2015

Re: Cakephp Autocomplete Tutorial ajax error

It is best not to use the JS helper(s) etc.
Use just plain jQuery and it will work quite easily out of the box

See http://sandbox.dereuromark.de/sandbox/ajax_examples/ for live examples
mark


Am Sonntag, 1. Februar 2015 01:13:54 UTC+1 schrieb ajt:


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

Undefined index: autoCompleteText



I solved the helper issue as it finds the helper as this is cakephp 1.X code and I have 2.X



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: