JQuery自动完成 - JSON数据属性

时间:2017-08-16 14:44:51

标签: javascript jquery json laravel autocomplete

我正在为表单创建自动填充功能。我从我的输入中的data-source'属性中获取来自后端(laravel / blade)的json数据的url。我现在能够在控制台日志中显示完整的JSON文件,但是当我创建一个在输入中输入内容时应该显示命题的函数不起作用。开发工具中没有错误。我想从json获取“loc_name”并发送到后端“token”。你有什么提示吗?

JSON的一部分

[{"population":1729119,"token":"167|7|179|1296|55544|0","loc_name":"Warszawa"}]

Blade.php - 输入

{{Form::text('phrase', null, array('id' => 'city', 'data-container' => 'body',  'data-dropup-auto' => 'false',  'class' => 'mh__searcher__selectbar',  'tabindex'=>'-98','data-source' => URL::action('BPM\Controllers\Location\LocationController@getAutoCompleterLocation')))}}

JS

$(function () {

        var availableLocations = $('#city').attr('data-source');

        $("#city").on('keyup', function () {
            $.ajax({
                method: "get",
                url: availableLocations,
                success: function (data) {
                    $("#city").autocomplete({
                        minLength: 0,
                        source: function (request, response) {
                            response($.ui.autocomplete.filter(
                                data, extractLast(request.term)));
                        },
                        focus: function () {
                            return false;
                        },
                        select: function (event, ui) {
                            var terms = split(this.loc_name);
                            console.log(this.loc_name);
                            terms.pop();
                            terms.push(ui.item.loc_name);
                            terms.push("");
                            this.loc_name = terms.join(", ");
                            availableLocations.splice();
                            console.log(availableLocations);
                            return false;
                        }
                    });
                }
            })
        })
    })

0 个答案:

没有答案