Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在textarea中自动完成多个结果_Php_Jquery_Html - Fatal编程技术网

Php 在textarea中自动完成多个结果

Php 在textarea中自动完成多个结果,php,jquery,html,Php,Jquery,Html,我认为这很简单。我从PHP while循环中提取的数组中获取了一些结果 问题是它只允许一个结果。当我搜索另一个字符串时,它将替换旧字符串 我试着自己想出一个解决方案,但我觉得我的大脑已经精疲力竭了,我似乎无法想出一个像样的解决方案 下面是脚本: <script type="text/javascript"> function lookup(inputString) { if(inputString.length == 0) { $('#

我认为这很简单。我从PHP while循环中提取的数组中获取了一些结果

问题是它只允许一个结果。当我搜索另一个字符串时,它将替换旧字符串

我试着自己想出一个解决方案,但我觉得我的大脑已经精疲力竭了,我似乎无法想出一个像样的解决方案

下面是脚本:

<script type="text/javascript">
    function lookup(inputString) {
        if(inputString.length == 0) {
            $('#suggestions').hide();
        } else {
            $.post("ajax-search.php", {queryString: ""+inputString+""}, function(data){
                if(data.length >0) {
                    $('#suggestions').show();
                    $('#autoSuggestionsList').html(data);
                }
            });
        }
    } // lookup

    function fill(thisValue) {
        $('#inputString').val(thisValue);
        setTimeout("$('#suggestions').hide();", 200);
    }
</script>

函数查找(inputString){
如果(inputString.length==0){
$(“#建议”).hide();
}否则{
$.post(“ajax search.php”,{queryString:“+inputString+”},函数(数据){
如果(data.length>0){
$(“#建议”).show();
$('#autoSuggestionsList').html(数据);
}
});
}
}//查找
函数填充(thisValue){
$('#inputString').val(thisValue);
setTimeout(“$('#建议”).hide();”,200);
}
以下是HTML:

               <form>
                <textarea cols="80" rows="2" id="faq_search_input" name="query" dir="rtl" disabled></textarea>
                <textarea id="inputString" onkeyup="lookup(this.value);" onblur="fill();" cols="80" rows="2" placeholder="Write here"></textarea>
                <div class="suggestionsBox" id="suggestions" style="display: none;">
                    <img src="images/upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
                    <div class="suggestionList" id="autoSuggestionsList">
                        &nbsp;
                    </div>
                </div>
            </form>

下面是PHP:

<?php 
include("config.inc"); //Including our DB Connection file

if(isset($_POST['queryString'])) {
    $queryString = $db->real_escape_string($_POST['queryString']);
        if(strlen($queryString) > 0) {
            $query = $db->query("SELECT * FROM directions WHERE eng_dir LIKE '%$keyword%' OR attr LIKE '%$keyword%'");

            if($query) {
                while ($result = $query ->fetch_object()) {             
                    echo '<li value="'.$result->dir_id.'" onClick="fill(\''.$result->eng_dir.'\');">'.$result->eng_dir.'</li>';
                }
            }
        }
}
?>

据我所知,我认为您必须在每次搜索中使用附加结果,而不是使用
html()
,因为
html()
将目标id/类上的所有数据替换为新数据

$.post("ajax-search.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').show();
                $(data).appendTo('#autoSuggestionsList');
            }
        });

据我所知,我认为您必须在每次搜索时使用附加结果,而不是使用
html()
,因为
html()
将目标id/类上的所有数据替换为新数据

$.post("ajax-search.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').show();
                $(data).appendTo('#autoSuggestionsList');
            }
        });

我会调查的,但是你的代码因为某种原因不起作用。它仍然会删除原来的内容。也许我需要以某种方式“关闭”该值,比如标记传播正确的结果。我输入的字母越多,搜索范围就越窄。因此,它工作正常。我阅读[link]是为了了解我的错误所在。我会调查一下,但由于某些原因,您的代码无法正常工作。它仍然会删除原来的内容。也许我需要以某种方式“关闭”该值,比如标记传播正确的结果。我输入的字母越多,搜索范围就越窄。因此,它工作正常。我阅读[链接]是为了了解我的错误所在。