usdglander
@usdglander
Yipee-ki-yay

Почему при использовании плагина Autocomplete поле заполняется value, а не label?

Добрый день. Использую yii/jui/Autocomplete.
<?= AutoComplete::widget([
	'name' => 'client',
	'id' => 'client-find',
	'options' => [
		'class' => 'form-control',
	],
	'clientOptions' => [
		'source' => MemberUser::find()
					->select(['concat( lastname, " ", firstname ) as label', 'id as value'])
					->asArray()
					->all(),
	'autoFill' => true,
	'minLength' => 2,
	'select' => new yii\web\JsExpression("function( event, ui ) {
		console.log(ui.item);
		document.getElementById('eventsuser-client').value = ui.item.value;
		document.getElementById('client-find').value = ui.item.label;
	}")
	]
]); ?>

При выборе элемента автозаполнения мне в текстовое поле вставляется не значение из label, а значение из value. Как пофиксить? Доку читал - там всё кошерно, а у меня не работает.
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
usdglander
@usdglander Автор вопроса
Yipee-ki-yay
Всё. Разобрался. Исправленый вариант:
<?= AutoComplete::widget([
	'name' => 'client',
	'id' => 'client-find',
	'options' => [
		'class' => 'form-control',
	],
	'clientOptions' => [
		'source' => MemberUser::find()
						->select(['concat( lastname, " ", firstname ) as label', 'concat( lastname, " ", firstname ) as value', 'id as id'])
						->asArray()
						->all(),
		'autoFill' => false,
		'minLength' => 2,
		'select' => new yii\web\JsExpression("function( event, ui ) {
			console.log(ui.item);
			document.getElementById('eventsuser-client').value = ui.item.id;
			document.getElementById('client-find').value = ui.item.label;
		 }")
	]
]); ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы