7

次のjqueryuiオートコンプリート関数を使用しています。これはマウスでは完全に機能しますが、キーボードでは値を選択できません。コードを見てください。

$("#"+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('');    
    }
});
4

1 に答える 1

4

私にとっては、 focus メソッドを提供することで解決しました: searchField.autocomplete({ ... focus: function (event, ui) { event.preventDefault(); jQuery(this).val(ui.item.suggestion); }, ... });

ここも参照してください: http://yuji.wordpress.com/2011/09/22/jquery-ui-autocomplete-focus-event-via-keyboard-clears-input-content/

于 2013-02-18T11:04:59.643 に答える