从本地文本文件中获取jquery自动完成功能

时间:2016-04-26 18:11:35

标签: javascript jquery json ajax

我尝试过从plunker中挑选的代码来减少对数据库的ajax请求。 JSON格式也可以在文本文件中按照示例生成。

但是当我试图填充自动填充选项时,它只显示一个开头字符。但是当我直接使用json输出item变量时,它可以正常工作。

Plunker Plunker Link

关键字.txt文件中的JSON示例

["Mis","Operation","Operation Manager","Php","Sales","Telecalling","Analytics","Ceo","Commercials"];

代码

$(function() 
{
    var items = 'Keywords.txt';         

    function split( val ) 
    {
        return val.split( /,\s*/ );
    }

    function extractLast( term ) 
    {
        return split( term ).pop();
    }

    $( "#keyword" )
    .autocomplete(
    {
        minLength: 1,
        source: function( request, response ) 
        {
            response( $.ui.autocomplete.filter(items, extractLast( request.term ) ) );
        },
        focus: function() 
        {
            return false;
        },
        select: function( event, ui ) 
        {
            var terms = split( this.value );
            // remove the current input
            terms.pop();
            // add the selected item
            terms.push( ui.item.value );
            // add placeholder to get the comma-and-space at the end
            terms.push( "" );
            this.value = terms.join( ", " );
            return false;
        }
    });
});

1 个答案:

答案 0 :(得分:1)

我认为您的问题是您有一个字符串,尝试解析响应:

$.get('Keywords.txt').then(function(keywords){
    items = JSON.parse(keywords);
});