我创建的页面显示数据库中的数据为div
元素。一开始,我想要显示所有的数据和它们,如果用户在表单中输入某些内容,则呈现的数据将适合用户搜索结果。如何正确添加div到现有div?
我正在使用AJAX
技术。
由于屏幕上没有div
,代码无法以所需的方式工作。我认为这与div
的声明有关,但我不确定我要出错的地方。?
<script>
function getData1(search)
{
if(search=="")
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
data = JSON.parse(xmlhttp.responseText);
fill1(data);
}
};
xmlhttp.open("GET",'ex2.php?q=0', true);
xmlhttp.send();
}
else
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
data = JSON.parse(xmlhttp.responseText);
fill1(data);
}
};
xmlhttp.open("GET",'ex2.php?q='+search, true);
xmlhttp.send();
}
}
function fill1(data)
{
parent = document.getElementById('contener');
parent.innerHTML = "";
for(i=0, len =data.length; i<len; i++)
{
var div = document.createElement('div');
div.innerHTML = '<div class="tile" id='+data[i][0]+' onClick="detail(this.id)">
+'<div class="date"><i class="icon-calendar"></i>'+data[i][3]+'</div>'
+'<div class="features">'
+'<div id="distance" class="sq">'
+'<div class="img"><i class="icon-distance"></i></div>'
+'<div class="description">'+data[i][1]+' km</div>'
+'<div style="clear:both"></div>'
+'</div>'
+'<div id="time" class="sq">'
+'<div class="img"><i class="icon-time"></i></div>'
+'<div class="description">'+data[i][2]+'</div>'
+'<div style="clear:both"></div>'
+'</div>'
+'<div id="velocity" class="sq">'
+'<div class="img"><i class="icon-velocity"></i></div>'
+'<div class="description">'+data[i][4]+' km/h</div>'
+'<div style="clear:both"></div>'
+'</div>'
+'<div style="clear:both"></div>'
+'</div>'
+'</div>';
parent.append(div);
}
}
$('document').ready(getData1(""));
</script>
HTML部分
<div id="contener"></div>
<div id="search">
<form>
<input type="text" onkeyup="getData(this.value)">
</form>
</div>
<div style="clear:both"></div>
这是'$(文件)。就绪(getData1)' – adeneo
它不是解决 –
adeneo是在暗示正确的,你可以将处理函数与文档的方式。准备好了,你试过了吗? – Deep