【问题标题】:Autocomplete show entire list on down arrow key自动完成在向下箭头键上显示整个列表
【发布时间】:2016-07-04 13:08:56
【问题描述】:

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

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
 });

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

谁能建议我如何做到这一点?

【问题讨论】:

    标签: jquery jquery-ui autocomplete


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-18
        • 2021-08-07
        • 2013-06-29
        • 1970-01-01
        • 2012-01-16
        • 2012-03-12
        • 1970-01-01
        相关资源
        最近更新 更多