0

我需要在 JS 数组中有一个 MySQL 表结果,以便在输入文本框中时可以搜索名称。我的意思是,假设我有一个带有一些名称的表,现在当请求页面时,它应该使用 MYSQL 中的名称列表填充一个 div,该 div 需要有一个输入框,当输入首字母时,下面的列表应该找到与关键字匹配的名称,类似于搜索。

为此,我认为我需要将 mysql 结果存储在 JS 数组中,以便在文本框的onkeyupandonkeypress事件中,它应该从数组项中搜索匹配结果并仅使用这些项填充列表。

我知道,我必须发出一个 ajax 请求document.ready才能从数据库中获取结果,但不知道如何将它存储在一个数组中,然后在文本框事件上搜索它。

4

1 回答 1

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数组来搜索你直接在你的数据库中搜索

于 2013-08-24T07:07:08.790 回答