我有JSON数据,我猜我的JSON是有效的,但有些东西我不明白它是如何工作的?当我写城市或国家没有任何事情发生时,我将如何使其发挥作用?
我有data-list
属性,当我点击我的输入时,我的数据列表自动打开到目前为止还没关系。但是如果我写了一些东西,我的内联数据列表属性不再起作用,只有我的Json必须工作如何我能这样做吗?
我正在使用Awesomplete plugin,如果您想在codepen please click to see on codepen上看到我的项目
var myJSON = '{ "cities":[ "copenhagen", "london", "hamburg" ], "countries":[ "denmark", "norway", "sweden" ] }';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = "Cities : " + myObj.cities;
document.getElementById("demo1").innerHTML = "countries : " + myObj.countries;
function showlist() {
}
var comboplete = new Awesomplete('input.dropdown-input', {
minChars: 0,
});
Awesomplete.$('#test').addEventListener("click", function() {
if (comboplete.ul.childNodes.length === 0) {
comboplete.minChars = 0;
comboplete.evaluate();
} else if (comboplete.ul.hasAttribute('hidden')) {
comboplete.open();
} else {
comboplete.close();
}
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.1/awesomplete.min.css" rel="stylesheet" />
<div id="demo"></div>
<div id="demo1"></div>
<!--<input type="text" class="awesomplete" data-list="PHP,ASP,ASP.NET,Python,CSS,HTML,C#,C++,Delphi,Visual Basic" onclick="showlist()">-->
<br><br> with auto list
<input id="test" data-list="CSS, JavaScript, HTML, SVG, ARIA, MathML" class="dropdown-input" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.1/awesomplete.min.js"></script>
答案 0 :(得分:1)
您必须访问属性&#34; data-list&#34;您的输入并将您的json设置为数据源。
试试这个:
var testInput = document.getElementById("test");
testInput.setAttribute("data-list", myObj.countries)