Ok, avete ragione. Posto il codice, sperando che non sia troppo intrecciato:
Questa è una parte di funzione che crea i 2 autocomplete:
codice:
$('#dialog').text('').append('<label>Property</label><input id="property0" type="text" name="property" onload="loadPropertyData()" onkeypress="loadPropertyData()"/> <label>Object:</label><input id="object0" type="text" onkeypress="loadObjectData()"/> <input type="button" onclick="addNewTriple()" value="+"/>');
		$('#dialog').dialog({
							buttons: {
								"Confirm!": function(){
										//Codice per inserire rdfa
										switchBaseDiv('annotate');
									},
									"<- Back to main": function(){switchBaseDiv('base');
							}
							}
					});
	}
Qui invece ci sono le funzioni che tramite ajax ritornano i dati:
loadPropertyData()
codice:
function loadPropertyData({
		var ajaxCache = {};
		$("#property").autocomplete({
			source: function(request,response) {
				var cachedTerm=request.term.toLowerCase();
				if (ajaxCache[cachedTerm]!=undefined) {
					response($.map(ajaxCache[cachedTerm], function(item) {
						return {
							label:item.value,
							value:item.value
						}
					}));
				}
				else {
					$.ajax({
						url:"getProperties.php",
						dataType:"json",
						data:{
							q: request.term
						},
						success:function(data) {
							ajaxCache[cachedTerm]=data;
							response($.map(data,function(data){
								return {
									value:data.split(',')
									}
							}));
						}
					});
				}
			},
			minLength: 1,
			select:function(event, ui){
				this.close
			},
		}
		);
	}
e
loadObjectsData()
codice:
function loadObjectData({
		var ajaxCache = {};
		$("#object").autocomplete({
			source: function(request,response) {
				var cachedTerm=request.term.toLowerCase();
				if (ajaxCache[cachedTerm]!=undefined) {
					response($.map(ajaxCache[cachedTerm], function(item) {
						return {
							label:item.value,
							value:item.value
						}
					}));
				}
				else {
					$.ajax({
						url:"getObjects.php",
						dataType:"json",
						data:{
							q: request.term
						},
						success:function(data) {
							ajaxCache[cachedTerm]=data;
							response($.map(data,function(data){
								return {
									value:data.split(',')
									}
							}));
						}
					});
				}
			},
			minLength: 1,
			select:function(event, ui){
				this.close
			},
		}
		);
}
Le 2 funzioni sono praticamente uguali ma prendono dati da 2 pagine php diverse.
Volevo solo far notare che il codice l'ho preso da un sito e poi l'ho adattato alle mie esigenze, ma il malfunzionamento è iniziato prima delle modifiche, altrimenti sarei stato capace di ritornare indietro, cosa che invece mi è stata impossibile.
Grazie