Javascript JSON简单实时搜索不起作用
我有一个简单的实时搜索设置,我无法排除故障。我不熟悉JSON,但非常熟悉html和jquery,不过我将在这里包含所有代码。没有错误,结果只是在我键入时不显示。以下是第一个html:Javascript JSON简单实时搜索不起作用,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,我有一个简单的实时搜索设置,我无法排除故障。我不熟悉JSON,但非常熟悉html和jquery,不过我将在这里包含所有代码。没有错误,结果只是在我键入时不显示。以下是第一个html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <title>JSON live search</title> <link rel="sty
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>JSON live search</title>
<link rel="stylesheet" href="mystyle.css"/>
</head>
<body>
<div id="searcharea">
<label for="search">Live search</label>
<input type="search" name="search" id ="search" placeholder="start typing.." />
</div>
<div id="update"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="script.js"></script>
</body>
</html>
我知道这很痛苦,但有人能告诉我为什么我没有看到结果吗 不应输出+=+val.name+
是
输出+=+val.businesss.name+ json objectdata包含一个属性,即数组。因此,您必须在$中使用每个数据,而不是data.business
嗯,你从来没有在文本框中附加按键侦听器…或者你没有显示该部分…我最初实际上有onkeyup=script.js,但这不起作用。js 101:使用要执行的代码创建一个函数,附加一个事件处理程序,调用事件处理程序中的函数。onkeyup=getJSONthis.data?你能提供解决方案、答案甚至帮助,而不是滥用吗?它应该是val.business[0].name,但我认为有更大的问题。OP没有调用代码,所以是的,有更大的问题!仅供参考:问题不仅仅是循环……OP甚至没有把它称为循环
$.getJSON('data.json', function(data) {
var output = '<ul class="searchresults">';
$.each(data, function(key, val) {
output += '<li>';
output += '<h2>' + val.name + '</h2>';
output += '</li>';
});
output += '</ul'>;
$('#update').html(output);
});
{
"businesses":[
{"name":"LJMU","contacts":[{"contacts":"con1"},{"contacts":"con2"},{"contacts":"con3"}]},
{"name":"Bobs bricks","contacts":[{"contacts":"con1"},{"contacts":"con2"},{"contacts":"con3"}]},
{"name":"Apple","contacts":[{"contacts":"con1"},{"contacts":"con2"},{"contacts":"con3"}]},
]
}
$.getJSON('data.json', function(data) {
var output = '<ul class="searchresults">';
$.each(data.businesses, function(key, val) {
output += '<li>';
output += '<h2>' + val.name + '</h2>';
output += '</li>';
});
output += '</ul'>;
$('#update').html(output);
});