2012-11-01 13 views
5

Używam funkcji autouzupełniania ui jquery ui. Działa to doskonale z myszą, ale z klawiatury, nie jestem w stanie wybrać żadnej wartości. Spójrz na kod.Autocomplete.js nie działa z klawiaturą strzałek w górę iw dół

$("#"+textBoxId).autocomplete("../common 
    /autoSuggestValues.php?index="+index+"& 
    randValue="+Math.random(), { 
    selectFirst: false, 
    width:textBoxWidth, 
    minChars: 2, 
    autoFill: false, 
    scroll: true, 
    scrollHeight: 120, 
    formatItem: function (rowdata) { 
     var details = rowdata[0].split('@#@'); 
     return details[0]; 
    } 
}); 

$('#'+textBoxId).result(function (event, data, formatted) { 
    var det = data[0].split("@#@"); 
    if(det[0] != 'No Match Found') { 
     $('#'+textBoxId).val($.trim(det[0])).css('border',''); 
     $('#'+hiddenId).val(det[1]); 
     processAutoSuggOptFunc(optionalFunction); //process the optional 
    function using the another built function "processAutoSuggOptFunc" 
    } else { 
     $('#'+textBoxId).val(''); 
     $('#'+hiddenId).val('');  
    } 
}); 
+0

nie zwraca wyniki json? czy możesz sprawdzić, czy masz jakiś błąd w konsoli? – sbaaaang

Odpowiedz

3

Dla mnie, zapewniając metody ustawiania ostrości wykonane rozwiązanie: searchField.autocomplete({ ... focus: function (event, ui) { event.preventDefault(); jQuery(this).val(ui.item.suggestion); }, ... });

Zobacz również tutaj: http://yuji.wordpress.com/2011/09/22/jquery-ui-autocomplete-focus-event-via-keyboard-clears-input-content/

+0

'event.preventDefault()' ma krytyczne znaczenie, ponieważ w przeciwnym razie wybieranie za pomocą klawiatury nadal będzie powodować domyślne zdarzenie. – maniak1982

Powiązane problemy