繁体   English   中英

jquery autocomplete 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 但它不起作用。 请帮忙。

它应该像第二张图片

在此处输入图片说明

我参考这些https://www.devbridge.com/sourcery/components/jquery-autocomplete/找到了解决方案

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

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

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

                })
            };
        }
    });

你必须添加

$( "#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/

autofocus 将突出显示第一项,而 selectFirst 将选择第一项。

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

                    })
                };
            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM