Доброго времени суток. Возникла небольшая проблема использования виджета автозаполнения.
Есть форма, к ней Аяксом добавляется ещё поле с автозаполнением, но получается так, что у загружаемого поля автозаполнение не работает. Что делать?
Это JS
$(document).on('click', '#addPunkt', function(){
var csrf = $('input[name="_csrf"]').val();
$.ajax({
type: 'POST',
url: "/travels/default/ajax_add_field/",
data: '_csrf=' + csrf,
success: function (data) {
$( "#aditoonalFields" ).append( data );
}
});
return false;
});
Это контроллер:
public function actionAjax_add_field(){
$listdata = \common\models\db\City::find()
->select(['id as value', 'name as label'])
->asArray()
->all();
return $this->renderPartial('fields-city',['listdata' => $listdata]);
}
Это вьюха:
<?php
use yii\jui\AutoComplete;
use yii\web\JsExpression;
?>
<?php
echo AutoComplete::widget([
'id' => 'city',
'class' => 'ui-autocomplete-input',
'clientOptions' => [
'source' => $listdata,
'minLength'=>'3',
'autoFill'=>true,
'select' => new JsExpression("function( event, ui ) {
$('#memberssearch-family_name_id').val(ui.item.id);//#memberssearch-family_name_id is the id of hiddenInput.
}")],
]);
?>