所以,我正在使用javascript从php文件中提取查询,然后将其发布到另一个javascript,然后将另一个php查询放在另一个文本区域中。
换句话说:
[input text area 1] -> [javascript live search] -> [Query results]
[Query results] -> [onClick event] -> [Load results in text area 2]
这个想法是,在一个文本区域中进行实时搜索会在另一个现场进行近似匹配。
但是,当我尝试在第二个textarea中加载数据时,它将作为原始数据出现。我对如何正确查看它很困惑。
HTML:
第一个文本区域是带有调用脚本的函数的输入,在这里:
function showResult(str) {
if (str.length == 0) {
document.getElementById("livesearch").innerHTML = "";
document.getElementById("livesearch").style.border = "0px";
return;
}
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("livesearch").innerHTML = xmlhttp.responseText;
document.getElementById("livesearch").style.border = "1px solid #000";
}
}
xmlhttp.open("GET", "ajax-search.php?keyword=" + str, true);
xmlhttp.send();
}
php返回结果:
echo '<li onclick="grabID('.$row['dir_id'].')" >'.$row['eng_dir'].'</li><br />';
然后启动点击的事件:
function grabID(num){
xmlhttp.open("GET","ajax-result.php?result="+num,true);
xmlhttp.send();
document.getElementById("output").innerHTML="Something here?!?!?!";
}
再次正确返回其他php的结果。问题是,因为它是一个循环,它返回大量结果而不仅仅是1.我只想要1个与上一个搜索的ID匹配的结果。