2016-04-26 58 views
0

我試過從plunker中挑選的以下代碼以減少對數據庫的ajax請求。 JSON格式也可以按照文本文件中的示例生成。從本地文本文件jquery自動完成不拾起

但是,當我試圖填充自動完成選項它只顯示一個字符的開始。但是,當我使用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

嗨馬呂斯,我試圖實現這一點,但我想我在執行中做錯了事。你能指導我如何以及在哪裏實施你的建議。 –

+0

嗨Balvinder,我爲你創建了一個Plunker http://plnkr.co/edit/sGVTAV6zHrISfRExoMjA?p=preview –

+0

謝謝Marius。我確實在第一時間把你的建議放在了正確的位置,但沒有提及數組,所以它不起作用。無論如何,現在它工作正常。但有一件事情正在困擾着我。 「有什麼方法可以代替一次加載完整的關鍵字列表,當用戶提供任何輸入時,它只是從文本文件中獲取相關建議?」 –