2016-08-29 174 views
1

因此,我正在開發Chrome擴展程序以幫助我完成工作。我需要自動完成一些字段,但由於某種原因,我不能將HTML信息傳遞給.js文件。 我有一個輸入列表和一個腳本,使您能夠搜索給定單詞的任何部分。例如,如果你輸入'la',它應該建議新西蘭,英格蘭和愛爾蘭。 那麼,當我運行的HTML來測試它不起作用。你能給我一些這方面的信息嗎?將HTML輸入傳遞給JS

謝謝!

HTML

<!doctype html> 
<html lang="en"> 
<head> 

</head> 

<body> 
    <input data-list="Brazil, United States, New Zealand, Canada, England, Ireland" 

data-multiple /> 
    <script src="popup.js" async></script 
</body> 

</html> 

.JS文件

new Autocomplete('input[data-multiple]', { 
    filter: function(text, input) { 
     return Autocomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]); 
    }, 

    replace: function(text) { 
     var before = this.input.value.match(/^.+,\s*|/)[0]; 
     this.input.value = before + text + ", "; 
    } 
}); 
+0

你是什麼意思「當我運行html來測試它不工作」? – zero298

+0

在將它用作Chrome擴展之前,我只能執行html文件。那麼,它只顯示輸入任何文本的地方,但它不會建議它應該;-) –

+0

爲什麼你期望'Autocomplete'可用?這不是標準的。你要麼不顯示完整的代碼,要麼甚至沒有嘗試調試(這會告訴你'Autocomplete'沒有被定義)。 – Xan

回答

1

你缺少一個右尖括號:

<script src="popup.js" async></script

添加支架:

<script src="popup.js" async></script>

1

現在實際上有一個新的datalist元素。你應該嘗試看看你是否能夠爲你工作。

<input list="keys" /> 
<datalist id="keys"> 
    <option value="Home"> 
    <option value="Work"> 
    <option value="Car"> 
</datalist> 

當您鍵入時,數據列表將根據列表中找到的元素自動爲您提供建議。