addScript(); $this->prepend(" ") ->defaultAttribute('autocomplete', 'off') ->defaultAttribute('style', 'width: 160px;flex:none'); return parent::render(); } protected function addScript() { $this->script = <<getElementClassSelector()}'), parent = field.parents('.form-field'), showIcon = function (icon) { parent.find('.input-group-prepend .input-group-text').html(''); }; field.iconpicker({placement:'bottomLeft', animation: false}); parent.find('.iconpicker-item').on('click', function (e) { showIcon($(this).find('i').attr('class')); }); field.on('keyup', function (e) { var val = $(this).val(); if (val.indexOf('fa-') !== -1) { if (val.indexOf('fa ') === -1) { val = 'fa ' + val; } } showIcon(val); }) }, 1); JS; } }