Typeahead And Autocomplete

What is difference between typeahead and autocomplete , which one is best and why ?

I was having same issue with fahadakram.

Now I understand his question. typeahead is from Yiibooster, and autocomplete is from zii jui widgets. Basically they are same function for input text field.

Below is the code compare between these two widgets: Both is used to enter a USA state.




$this->widget('zii.widgets.jui.CJuiAutoComplete', array(

    'name'=>'test2',

    'source'=>array('Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',

    'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia',

    'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa',

    'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland',

    'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri',

    'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',

    'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio',

    'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina',

    'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',

    'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'),

	));



Yiibootstrap has extra code which control the drop down size = 4, and also whatever you type capital case or lower case of the state name.




    $this->widget('bootstrap.widgets.TbTypeahead', array(

    'options'=>array(

    'name'=>'demo-typeahead',

    'source'=>array(

    'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',

    'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia',

    'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa',

    'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland',

    'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri',

    'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',

    'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio',

    'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina',

    'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',

    'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'),

    'items'=>4,

    'matcher'=>"js:function(item) {

    return ~item.toLowerCase().indexOf(this.query.toLowerCase());

    }",

    )));