diff --git a/modules/utenti/ajax/select.php b/modules/utenti/ajax/select.php
new file mode 100644
index 000000000..23cd05ac7
--- /dev/null
+++ b/modules/utenti/ajax/select.php
@@ -0,0 +1,46 @@
+fetchArray($query);
+ foreach ($rs as $r) {
+ if ($prev != $r['optgroup']) {
+
+ $results[] = ['text' => $r['optgroup'], 'children' => []];
+ $prev = $r['optgroup'];
+
+ }
+
+ $results[count($results) - 1]['children'][] = [
+ 'id' => $r['id'],
+ 'text' => $r['descrizione'],
+ 'descrizione' => $r['descrizione'],
+ ];
+ }
+
+ break;
+}
diff --git a/modules/utenti/user.php b/modules/utenti/user.php
index 3d69f826b..394dbee11 100644
--- a/modules/utenti/user.php
+++ b/modules/utenti/user.php
@@ -78,7 +78,7 @@ if (!$self_edit) {
- {[ "type": "select", "label": "'.tr('Collega ad una anagrafica').'", "name": "idanag", "values": "query=SELECT CONCAT(`an_tipianagrafiche`.`idtipoanagrafica`, \'-\', `an_anagrafiche`.`idanagrafica`) AS \'id\', `ragione_sociale` AS \'descrizione\', `descrizione` AS \'optgroup\' FROM `an_tipianagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE an_anagrafiche.deleted= 0 ORDER BY `descrizione` ASC", "value": "'.$id_anagrafica.'" ]}
+ {[ "type": "select", "label": "'.tr('Collega ad una anagrafica').'", "name": "idanag", "ajax-source": "anagrafiche_utenti", "value": "'.$id_anagrafica.'" ]}
';
} else {