2016-04-26 12 views
0

データベースへのajaxリクエストを減らすために、plunkerから選択された次のコードを試しました。 JSON形式も、テキストファイルの例のように細かく生成されます。ローカルテキストファイルからjqueryオートコンプリートを受け取りません

しかし、オートコンプリートオプションを設定しようとすると、最初の1文字しか表示されません。しかし、私はjsonの出力を直接項目の変数で使用するとうまくいきます。

Plunker Plunker Link

Keywords.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; 
     } 
    }); 
}); 
+0

どうやってjavascriptでローカルtxtファイルを呼び出しますか? –

答えて

1

文字列、レスポンスを解析してみてください:

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

こんにちはMarius、私はこれを実装しようとしたが、私は実装で何か間違っていると思う。あなたの提案をどのように&どこで実施するのか教えてください。 –

+0

こんにちはBalvinder、私はあなたのためのPlunkerを作成しましたhttp://plnkr.co/edit/sGVTAV6zHrISfRExoMjA?p=preview –

+0

ありがとうマリウス。私は最初に正しい場所にあなたの提案を置いたが、配列として項目を言及しなかったので、それは動作していませんでした。とにかく、今それは正常に動作しています。しかし、私に迷惑をかけるものが1つあります。 "ユーザーが入力を提供するときに、キーワードの完全なリストを一度に読み込むのではなく、テキストファイルから関連する提案を取得するだけの方法はありますか?" –

関連する問題