jquery 自动完成 transformResult 自动对焦 属性 不工作

jquery autocomplete transformResult auto focus property not working

现在看起来像这样

我正在 jquery 下面的自动完成是我要搜索城市的代码。

jQuery('#citySearch').autocomplete({
        serviceUrl: basePath + '/selectMycities.json',
        paramName: "tagName", // 
        onSelect: function(suggestion) {
            cityID = suggestion.data;
            cityId=cityID;
            jQuery("#cityId").val(cityID);
            return false;
        },
        transformResult: function(response) {

            return {

                suggestions: jQuery.map(jQuery.parseJSON(response), function(item) {
                    return {
                        value: item.cityName,
                        data: item.cityId,
                        id: item.cityId
                    };

                })
            };
        }
    });

现在在上面的自动完成中,我想将 autoFocus 设置为 true,但它不起作用。请帮忙

应该喜欢第二张图

你必须添加

$( "#citySearch" ).focus();

https://fiddle.jshell.net/1vfcgcco/1/

或类似这样的...

$("#auto").autocomplete({ 
source: function(request, response) {
    var results = $.ui.autocomplete.filter(src, request.term);

    response(results.slice(0, 4));
 }
});

http://jsfiddle.net/vqwBP/1098/

自动对焦将突出显示第一个项目,而 selectFirst 将 select 第一个项目。

 jQuery('#citySearch').autocomplete({
            selectFirst: true,
            autoFocus: true,
            serviceUrl: basePath + '/selectMycities.json',
            paramName: "tagName", // 
            onSelect: function(suggestion) {
                cityID = suggestion.data;
                cityId=cityID;
                jQuery("#cityId").val(cityID);
                return false;
            },
            transformResult: function(response) {

                return {

                    suggestions: jQuery.map(jQuery.parseJSON(response), function(item) {
                        return {
                            value: item.cityName,
                            data: item.cityId,
                            id: item.cityId
                        };

                    })
                };
            }
        });

我参考了这些https://www.devbridge.com/sourcery/components/jquery-autocomplete/

找到了解决方案

我使用了 autoSelectFirst 属性,我得到了像第二张图片一样受人尊敬的结果。

autoSelectFirst:如果设置为true,显示建议时将选择第一项。默认值 false。

jQuery('#citySearch').autocomplete({
        autoSelectFirst: true,
        serviceUrl: basePath + '/selectMycities.json',
        paramName: "tagName", // 
        onSelect: function(suggestion) {
            cityID = suggestion.data;
            cityId=cityID;
            jQuery("#cityId").val(cityID);
            return false;
        },
        transformResult: function(response) {

            return {

                suggestions: jQuery.map(jQuery.parseJSON(response), function(item) {
                    return {
                        value: item.cityName,
                        data: item.cityId,
                        id: item.cityId
                    };

                })
            };
        }
    });