Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Intercettare valore in autocomplete e se presente passarlo all'input

    Salve a tutti,
    ho la seguente funzione che mi permette di selezionare le città da una lista ed ottenere un relativo codice attraverso il file citta.json così strutturato:

    codice:
    [{"etichetta": "555028001","value": "ROMA"},
    {"etichetta": "551001501","value": "MILANO"}]
    Quello che vorrei è: data una certa città ad esempio ROMA verificare se dentro il file json (nel value) è presente ROMA e se presente allora precompila con il valore ROMA l'input #nascita e con il relativo codice l'input #codice.

    codice:
    <script>
    jQuery(function($) {
    var verificacitta = ('ROMA');
     $.ajax({
        url: 'citta.json',
        type: 'GET',
        contentType: 'application/json',
        dataType: 'json',
        success: function(data) {
    
    
        $('#nascita').autocomplete({
            source: data,
                matchContains: true,
                minLength: 3,
                delay: 700,  
                max: 10,
                highlight: true,  
                select: function (event, suggestion) {
                $('#nascita').val(suggestion.item.value);  
                $('#codice').val(suggestion.item.etichetta);  
               }
    
          });
        },
    
    
        error: function(x, t, m) {
          console.trace();
          if (!(console == 'undefined')) {
            console.log("ERROR: " + x + t + m);
          }
          console.log(" At the end");
        }
      });
    
    
    });
    </script>
    <input id="nascita" name="nascita" value=""/>
    <input id="codice" name="codice" value=""/>

    Mi date una mano?
    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, se ho capito bene, inserisci questo dentro il success, o prima o dopo l'inizializzazione dell'autocomplete:
    codice:
    const item = data.find(e => e.value.toLowerCase() === verificacitta.toLowerCase());
    if (item){
      $('#nascita').val(item.value);
      $('#codice').val(item.etichetta);
    }
    fai sapere
    Ultima modifica di KillerWorm; 06-11-2023 a 04:37
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.