2010-12-09 7 views
4

Eingabe unter jQuery Autocomplete Ergebnisse wird aktiviert bei der Auswahl aus Ergebnis

Wenn ich in den Namen der Art eingeben Ich suche nach der jQuery Autocomplete-Widget kommt mit einem Dropdown und einige Ergebnisse. Groß!!

Das einzige Problem ist, dass, wenn ich ein Element aus der Liste auswählen das "Eingabeelement, das unter diesem Listenelement befindet aktiviert ist". Und führt zu einem android-nativen Drop-down über die Spitze. Ich habe versucht, Z-Indizes für die Autocomplete-Ergebnisse und die Eingabeelemente zu verwenden. Keine Arbeit.

Irgendwelche Ideen jemand?

Antwort

-1

Das Abbrechen der Ereignisausbreitung könnte ein Schlüssel zur Lösung dieses Problems sein. Diese Frage könnte helfen, das Problem zu lösen, in das Sie geraten. Event propagation in Javascript

Dies kann auch als nützlich erweisen: http://www.quirksmode.org/js/events_order.html

+0

Ich bin gerade mit anderen Sachen beschäftigt. Aber deine Antwort wird sehr geschätzt. Ich werde darauf schauen und mit den Ergebnissen zu dir zurückkommen. – Timo

1

Nun, noch Ausbreitung noch z-Indizes scheint das Problem zu lösen.

Die einzige Möglichkeit, die ich gefunden habe, besteht darin, andere Felder (das ist alles außer einer, die automatisch abgeschlossen wird) in den deaktivierten Modus zu setzen.

Also, wenn die automatische Vervollständigung Box geöffnet wird, habe ich alle anderen Eingänge deaktiviert und sie zurücksetzen, sobald die Box schließt:

$("#venue_name").autocomplete({ 
    minLength: 2, 
    source: venueData, 
    open: function(event, ui) { // disable other inputs 
     $("input#venue_address").attr("disabled", "disabled"); 
     $("input#venue_cross_street").attr("disabled", "disabled"); 
     $("input#venue_city").attr("disabled", "disabled"); 
    }, 
    close: function(event, ui) { // re-enable other inputs 
     $("input#venue_address").removeAttr("disabled"); 
     $("input#venue_cross_street").removeAttr("disabled"); 
     $("input#venue_city").removeAttr("disabled"); 
    } 
}); 

Sie den Code oben verbessern, etwa durch Elemente zu setzen in array usw. deaktiviert sein, aber die grundlegende Logik bleibt gleich: Deaktivieren Sie Elemente, so dass Android sie nicht markiert, wenn Auto-Vervollständigen-Box aktiviert ist, und re-aktivieren Sie sie, sobald Auto-Vervollständigen-Box aus ist.

+0

Ich lief das gleiche Problem auf Chrom, und deaktivieren Sie die Dropdown-Liste darunter betroffen in der Lage, die Autovervollständigung Wahl oben zu einem Grad zu wählen. Ich werde es nur verstecken, anstatt es zu deaktivieren. – Cymbals

Verwandte Themen