我需要在JS数组中有一个MySQL表结果,以便我可以在文本框中键入时搜索名称。我的意思是,假设我有一个带有一些名称的表,现在当请求页面时,它应该使用MYSQL中的名称列表填充div,div需要有一个输入框,当输入首字母时,下面的列表应该找到与搜索关键字匹配的名称。
为此,我认为我需要将mysql结果存储在JS数组中,以便在文本框的onkeyup
和onkeypress
事件中,它应该从数组中搜索匹配的结果项目并仅使用这些项目填充列表。
我知道,我必须在document.ready
上发出ajax请求才能从数据库中获取结果,但后来却不知道如何将其存储在数组中,然后在文本框事件中搜索结果。
答案 0 :(得分:0)
你需要这样的东西:
这样的输入:
<input type="text" onkeyup="userscount('getusers.php')" name="name" />
<div id="shownames"></div>
这里是ajax请求的js我使用jquery:
function userscount(url)
{
var val = $('[name="name"]').val()
$.ajax({
type:'post',
data : {name: val },
cache: false,
url: url,
dataType : 'json',
success: function(resp){
$('#shownames').append(resp);
}
});
}
您可以使用ul li附加
这里是php代码(getusers.php):
<?php
if(isset($_POST['name']))
{
$result = // execute your query
echo json_encode($result)
}
?>
有了这个你不需要用于搜索的js数组,你可以直接在db中搜索