jquery-ui-autocomplete funktioniert nicht wählen Sie auf enter

Habe ich die jquery-ui autocomplete einem input-Feld und legen Sie einen ausgeblendeten Wert aus dem ausgewählten Element.

Diese habe ich mit dem

 select: function(event, ui) { ...$("#myDiv").val(ui.item.value)... } 

option (könnte falsch sein nun, die haben nicht den code bei der hand, aber es funktioniert bis meine Frage...)

Es funktioniert, wenn Sie wählen Sie ein Element aus dem Menü mit der Maus, aber wenn ich nur geben Sie text ein und wählen Sie ein Element mit der EINGABETASTE - es tut nichts, es ist, als wenn die Option ist nicht bei allen von der autocomplete-Funktion. Allerdings tabbing aus dem Feld löst den wählen.

Habe ich zu konzentrieren und zu ändern: auch aktualisieren Sie die Felder, die ich will, aber ich denke, das ist übertrieben, sollte es wirklich notwendig sein, geben Sie alle im Fokus, ändern, und wählen Sie, nur um sicher zu sein, dass jedoch ein Benutzer wählt ein Element aus der Liste wird ausgewählt.

Danke.

rofly: ich bin mit dem jquery-ui-autocomplete, hat es den code, den Sie geben, aber es sieht aus wie diese (aus der jquery.ui.autocomplete.js)


case keyCode.ENTER:
                case keyCode.NUMPAD_ENTER:
                    //when menu is open or has focus
                    if ( self.menu.active ) {
                        event.preventDefault();
                    }
                    //passthrough - ENTER and TAB both select the current element
                case keyCode.TAB:
                    if ( !self.menu.active ) {
                        return;
                    }
                    self.menu.select( event );
                    break;

Sieht, dass alle gut, so Im nicht sicher, wenn es fehlschlägt, weil dieser.

Mein code wie folgt aus (eingewickelt in Dokument.read()

$("#someDiv").attr("autocomplete", 'off');
$("#someDiv").autocomplete({
source: function(request, response) {
if ( request.term in cache ) {
response( cache[ request.term ] );
return;
}
$.ajax({
url: "giveMeJSON.jsp",
dataType: "json",
data: request,
success: function( data ) {
cache[ request.term ] = data;
response( data );
}
})},
minLength: 1,
delay: 300,
select: function(event, ui) {
$("#someDiv").val(ui.item.label);
$("#hiddenDiv").val(ui.item.value);
}
});

so, das problem ist, dies funktioniert, wenn der Benutzer die Auswahl aus dem Menü mit der Maus UND beim drücken der Tabulatortaste aus dem Feld (keyUp,keyDown wählen Sie dann die Registerkarte aus, funktioniert), aber keyUp -, keyDown-Ereignis zu wählen, itme, dann enter, und es passiert nichts!

  • wenn Sie einen versteckten Eingang, es hat einen seltsamen id myDiv.... vielleicht change: function(event, ui) { ...$("#myDiv").val(ui.item.value)... } funktioniert
InformationsquelleAutor rapadura | 2010-07-28
Schreibe einen Kommentar