自动填充功能在向下箭头键上显示整个列表

时间:2016-07-04 13:08:56

标签: jquery jquery-ui autocomplete

我在这样的文本框上应用了自动完成插件。

var model = [];
for (var i = 0; i < data.length; ++i) {
                model.push({ Label: data[i].ModelName, Value: data[i].CodeModel });
}
 var modelData = model;
 $('#tbmodele').autocomplete({
                source: function (request, response) {
                    response($.map(modelData, function (value) {
                        if (value.Label.toLowerCase().startsWith(request.term.toLowerCase())) {
                            return {
                                label: value.Label,
                                vvalue: value.Value
                            };
                        }
                    }));
                },              
                select: function (e, i) {
                    populateOtherFields(i.item.label);
                    return false;
                },
                open: function () {
                    $scope.isModelDropdownOpen = true;
                },              
                minLength: 0,
                scroll: true
 });

现在我想按下该文本字段的向下箭头键打开自动完成列表。

有人可以建议我怎么做吗?

2 个答案:

答案 0 :(得分:2)

将向下箭头键绑定到自动完成的search方法:

$(document).on('keydown', '#tbmodele', function() {
   $('#tbmodele').autocomplete('search', '');
});

答案 1 :(得分:0)

进一步回复此答案,因为接受的答案将始终在任何按键时弹出。要将此行为限制为仅使用键向下,并且输入字段为空时,请使用以下代码:

$('#tbmodele').on('keydown', function(e) {
  if (e.which == 40 && $(this).val().length==0) {
    $(this).autocomplete('search', '');
  }
});