Buongiorno a tutti, sono poco esperto di jquery e js.
Ho cercato ma non riesco a venire a capo di un problema.

DB Mysql - tabella con 3 campi:
| id_for | cod_for | des_for |

1 - creo un file json per un campo form autocomplete. Funziona.
2 - seleziono il nome desiderato dopo ricerca con minimo 2 caratteri. Funziona.
3 - popolo due campi testo con cod_for (F00093) e des_for (ABELLI ANTONIO). Funziona.
4 - nello stesso momento in un terzo campo testo compongo il nome file che andrà caricato, secondo lo schema:
aaaa_mm_id(autoincrease)_fornitore(cod_for).pdf - (2015_10_00011_F00093.pdf)

Nel campo autocomplete con onChange="componi()" richiamo la funzione per creare il nome file,

QUI ERRORE: il nome composto risulta: 2015_10_00011_ab.pdf (dove ab sono le due lettere digitate per selezionare il nome fornitore sul campo autocomplete, suppongo che il tag onChange non va, provo onSelect, on keyUp... ma nulla!
Non riesco a capire.. sono bloccato... Mi potete aiutare? Grazie in anticipo.

codice HTML:
<script>
jQuery(document).ready(function(){
    //"keyup" event handler to reset input fields  && '#project-cod_for'
    $( "#project" ).live('keyup', function(e){
        //Improved with keycode checking to prevent extra typing after select
        var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
        var keyCode = $.ui.keyCode;
        if(key != keyCode.ENTER && key != keyCode.LEFT && key != keyCode.RIGHT && key != keyCode.DOWN) {
            $('#project-des_for').val("");
        }
    });

    $( "#project" ).combogrid({
        debug:true,
        colModel: [{'columnName':'name','label':'Fornitore'}],
        url: 'server.php',
        //"select item" event handler to set input fields
        select: function( event, ui ) {
            $( "#project" ).val( ui.item.name );
            $( "#project-des_for" ).val( ui.item.name );
            $( "#project-cod_for" ).val( ui.item.author );
            
            return false;
        }
    });
});
</script>
<script type="text/javascript">
            function componi()
            {
                var myTesto=document.getElementById("name");
                var mycodice=document.getElementById("project");
                var valorecodice=mycodice.value;
                var myidp=document.getElementById("idp");
                var valoreidp=myidp.value;
                var today=new Date();
                year=today.getYear();
           
               if(year<1900)year=year+1900;
               if(valorecodice!=""&valoreidp!="")
                {
                //myTesto.value=year+"_"+(today.getMonth()+1)+"_"+valoreidp+"_"+valorecodice;
                myTesto.value=year+"_"+('0' + (today.getMonth() + 1)).slice(-2)+"_"+valoreidp+"_"+valorecodice;
                }           
            }
        </script>
<form bla bla>
<input size="16" type="text" name="cod_for" id="project-cod_for" class="stile1" readonly="readonly"/> (campo testo con codice fornitore F00093)
<input size="50" name="des_for" id="project-des_for" class="stile1" readonly="readonly"/> (campo testo con descrizione fornitore ABELLI ANTONIO)
<input  type="text" name="data_fatt" size="10" id="data_fatt" />
<input name="num_fatt" type="text" class="stile1" id="num3" onfocus="document.getElementById('num').style.backgroundColor='#fff';  this.value=' '; return false;" size="15" /> (campo testo numero progressivo id autoincrement)
<input type="text" id="name" name="name" size="50" class="stile1" readonly="readonly" /> (campo testo nome file pdf composto 2015_10_00011_ab.pdf)
<input type="submit" name="Submit" value="Inserisci" class="pulsante" />
</form>
Spero di essere stato esaustivo, grazie ancora