Attivare funzione Javascript con Jquery

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi sono un pò nubbone con jquery e vorrei se possibile una mano.
In breve, ho un input con autocompletamento e mi restituisce dopo averselezionato una voce, vari dati separatati da ";", fin qui nessun problema, smisto i dati tra i vari input.
La vera matassa del problema è che prima utilizzavo un select che tramite funzione javascript, lanciava un get ad un file php per recuperare dei dati dal database (onchange event).
Con l'autocompletamento vorrei indurre anche questa funzione in automatico, sfruttando i dati che ottenuti, ma non saprei come far eseguire la funzione in automatico allo script jquery.
Vi posto il codice ;)

HTML:
$().ready(function(){
    $('#tag').autocomplete({
      source: 'autocomplete.php',
      minLength:2,
      change:function(event,ui){
        if(!ui.item){
          $(this).val('');
		  $('#tagid').val('');
          return false;
          }
        }, 
		select:function(event,ui){
		var dati = (ui.item.id).split(';');
		var nome = dati[1].split(' ');

		if(typeof nome[2] === 'undefined'){nome[2] = ''};
		if(typeof nome[3] === 'undefined'){nome[3] = ''};
		if(typeof nome[4] === 'undefined'){nome[4] = ''};
		if(typeof nome[5] === 'undefined'){nome[5] = ''};
		if(typeof nome[6] === 'undefined'){nome[6] = ''};
                $('#tagid').val(dati[0] + (';') + dati[1] + (';') + dati[2] + (';') + dati[3] + (';') + dati[4]);
		$('#indirizzo').val(dati[2]);
		$('#nome').val(nome[0]);
		$('#cognome').val(nome[1] + (' ') + nome[2] + (' ') + nome[3] + (' ') + nome[4] + (' ') + nome[5] + (' ') + nome[6]);
		$('#contratto').html('<option value="' + dati[3] + '">' + dati[3] + '</option>');

questa è la funzione jquery di autocompletamento che funziona perfettamente, quella che voglio fargli fare in più è questa:

HTML:
function getXMLHTTP01() { //Funzione che restituisce l'oggetto xml http
		var xmlhttp=false;	
		try{
			xmlhttp=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp=false;
				}
			}
		}
		 	
		return xmlhttp;
    }
	
	function getState01(selezione_provaId) {		
		
		var strURL="scripts/funzioni/funzione_prova.php?selezione_prova="+selezione_provaId;
		var req = getXMLHTTP01();
		
		if (req) {
			
			req.onreadystatechange = function() {
				
        if (req.readyState == 4) {
					// solo se "OK"
					if (req.status == 200) {						
						document.getElementById('selezione_provadiv').innerHTML=req.responseText;						
					} else {
						alert("Qualche problema usando XMLHTTP:\n" + req.statusText);
					}
				}				
			}			
      req.open("GET", strURL, true);
      req.send(null);
		}		
	}
il valore che vorrei mandare alla funzione
getState01(selezione_provaId) sarebbe dati[0] quindi getState01(dati[0])

Spero di non essere stato troppo contorto
 

Discussioni simili