Ciao a tutti. ho una funzione che alla pressione di un tasto genera una riga con una serie di campi input.

2 di questi campi usano l'autocomplete di jquery.

il problema è che vorrei far si che la tendina del primo campo input(quando si cerca qualcosa) abbia piu informazioni per riga.

mi spiego meglio con un esempio:

[cia ] <-campo input
ciano ,22 anni, londra, vivo
ciamician ,84 anni, londra, morto

etcc...

normalmente se si scrive "cia" appare solo il campo nome (quindi ciano,ciamician etcc...)

ho dato uno sguardo a monkeypatch, ho provato a modificare la funzione _renderItem nel file ui.autocomplete.js.
Facendo cosi però ho modificato tutti i campi "autocomplete", che ovviamente non avendo gli stessi valori mi restituiscono una serie di "undefinied"



ho provato ad integrare tutto dentro la funzione.. ma o mi da errore.. oppure mi cancella fisicamente dal video il campo input (è una textarea)

posto il codice che magari per voi è piu semplice.
codice:
.append($('<td align="left">') 
            .append($("<textarea>") 
                .attr({id:'JQdesc_'+num,cols:"70",name:"desc"+num})
                .autocomplete({
					source: "../../ajax_articolo.php",
					minLength: 3,
					select: function( event, ui ) {
						$("#JQcodice_"+nim).empty().append(ui.item.codice)
						$("#JQunimis_"+nim).val(ui.item.unimis)
						$("#JQhidCodice_"+nim).val(ui.item.codice)
						$("#JQidArt_"+nim).val(ui.item.id)
						$("#JQprezzo_"+nim).val(ui.item.prezzo_ven)
						$("#JQunita_"+nim).val("1")
						$("#JQprezzoUnita_"+nim).empty().append(ui.item.prezzo_ven)
						$("#JQsconto_"+nim).val("0")
						$("#JQprezzoSconto_"+nim).empty().append(ui.item.prezzo_ven)
						$("#JQid_iva_"+nim).val(ui.item.id_iva)
						$("#JQiva_"+nim).val(ui.item.iva)
						$("#JQtotale_"+nim).empty().append(function(){$(this).calc(									
								"price+((price/100)*iva)",									
								{
									price: $("input[id^=JQprezzo_]"),
									iva: $("input[id^=JQiva_]")
								},									
								function (s){										
									return s.toFixed(2);
								}
							)
						})
					recalc()
					}
				})._renderItem= function( ul, item) {
					return $( "[*]" )
						.data( "item.autocomplete", item )
						.append( "<a>" + item.label + " | giac:" + item.giacenza + " | Ven:" + item.prezzo_acq + "€ | Acq:" + item.prezzo_ven + "€</a>" )
						//.append( $( "<a></a>" ).text( item.label ) )
						.appendTo( ul );
				}
            ) 
        )
in rosso la parte aggiuntiva che mi fa cancellare il campo textarea.
ho provato anche così, che è una funzione che ho trovato ripetuta molto spesso nei vari forum...ma probabilemtne sto sbagliando tutto.
codice:
.data("autocomplete")._renderItem= function( ul, item) {
    return $( "[*]" )
    .data( "item.autocomplete", item )
    .append( "<a>" + item.label + " | giac:" + item.giacenza + " | Ven:" + item.prezzo_acq + "€ | Acq:" + item.prezzo_ven + "€</a>" )
    //.append( $( "<a></a>" ).text( item.label ) )
    .appendTo( ul );
}
riepilogando ho una pagina con diversi campi con autocomplete.
vorrei che solo alcuni di questi campi (tutti generati dinamicamente da una funzione) avessere piu "campi" nella riga.
anziche "descrizione", avere qualcosa come "descrizione","luogo", "prezzo" etcc...

grazie a tutti per la pazienza,
scusate il disturbo e tanti auguri