1

我正在使用带有 ajax 的 Jquery 自动完成功能。一切正常,除非我将 minLength 设置为 0。当我从列表中选择一个元素时,自动完成不会停止运行并再次向我显示列表。

这是代码:

 $("#id_from").autocomplete({
     source: function (request, response) {
         $.ajax({
             url: "http://127.0.0.1:8000/core/get_from_cities",
                 dataType: "json",
                 data: {term: request.term},
                 success: function (data) {
                     response($.map(data.data, function (item) {
                         return {
                             label: item.value,
                             value: item.value
                         }
                     }));
                 }
             });
         },
         minLength: 0         
     });

谢谢..

编辑:这是我想出的解决方案:

 $("#id_to").focus(function() {
                $( "#id_to" ).autocomplete( "enable" );
            });


            $("#id_ffrom").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: "http://127.0.0.1:8000/core/get_from_cities",
                        dataType: "json",
                        data: {term: request.term},
                        success: function (data) {
                            response($.map(data.data, function (item) {
                                return {
                                    label: item.city,
                                    value: item.city,

                                }
                            }));
                        }
                    });
                },
                minLength: 0,
                select: function (event, ui) {
                    $('#id_from_country').val(ui.item.country)
                    $("#id_ffrom").autocomplete( "disable" );

                }

            });
4

0 回答 0