yii2-widget-typeahead extension is a jQuery based replacement for text inputs providing search and typeahead functionality. It is inspired by twitter.com's autocomplete search functionality and based on Twitter's typeahead.js, which is described as a fast and fully-featured autocomplete library. The widget is specially styled for Bootstrap 3.x, 4.x, or 5.x. The widget allows graceful degradation to a normal HTML text input, if the browser does not support JQuery. You can also setup model validation rules for the widget like any other field. The extension offers two variations of the widget implementation:
TypeaheadBasic: This widget is a basic implementation of the typeahead.js plugin without any suggestion engine.
Typeahead: This widget is an advanced implementation of the typeahead.js plugin with the BloodHound suggestion
engine and the Handlebars template compiler.
NOTE: This extension is a sub repo split of yii2-widgets. The split has been done since 08-Nov-2014 to allow developers to install this specific widget in isolation if needed. One can also use the extension the previous way with the whole suite of yii2-widgets.
The preferred way to install this extension is through composer. Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the
minimum-stability settings for your application's composer.json.
To install, either run
$ php composer.phar require kartik-v/yii2-widget-typeahead "*"
require section of your
Refer the CHANGE LOG for details on changes to various releases.
You can refer detailed documentation and demos for TypeaheadBasic or Typeahead for understanding the usage of the extension.
use kartik\typeahead\TypeaheadBasic; use kartik\typeahead\Typeahead; // TypeaheadBasic usage with ActiveForm and model echo $form->field($model, 'state_3')->widget(TypeaheadBasic::classname(), [ 'data' => $data, 'pluginOptions' => ['highlight' => true], 'options' => ['placeholder' => 'Filter as you type ...'], ]); // Typeahead usage with ActiveForm and model echo $form->field($model, 'state_4')->widget(Typeahead::classname(), [ 'dataset' => [ [ 'local' => $data, 'limit' => 10 ] ], 'pluginOptions' => ['highlight' => true], 'options' => ['placeholder' => 'Filter as you type ...'], ]);
yii2-widget-typeahead is released under the BSD-3-Clause License. See the bundled
LICENSE.md for details.
Typeaheadto distinctly capture Bloodhound properties.